Mercurial > hg > nginx
diff src/event/ngx_event.h @ 6635:6acaa638fa07
Events: support for EPOLLEXCLUSIVE.
This flag appeared in Linux 4.5 and is useful for avoiding thundering herd
problem.
The current Linux kernel implementation walks the list of exclusive waiters,
and queues an event to each epfd, until it finds the first waiter that has
threads blocked on it via epoll_wait().
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Fri, 15 Jul 2016 15:18:57 +0300 |
parents | bcd442b585f0 |
children | 56fc55e32f23 |
line wrap: on
line diff
--- a/src/event/ngx_event.h +++ b/src/event/ngx_event.h @@ -367,6 +367,9 @@ extern ngx_uint_t ngx_use_epo #define NGX_ONESHOT_EVENT EPOLLONESHOT #endif +#if (NGX_HAVE_EPOLLEXCLUSIVE) +#define NGX_EXCLUSIVE_EVENT EPOLLEXCLUSIVE +#endif #elif (NGX_HAVE_POLL) @@ -395,6 +398,11 @@ extern ngx_uint_t ngx_use_epo #endif +#if (NGX_TEST_BUILD_EPOLL) +#define NGX_EXCLUSIVE_EVENT 0 +#endif + + #ifndef NGX_CLEAR_EVENT #define NGX_CLEAR_EVENT 0 /* dummy declaration */ #endif