Mercurial > hg > nginx-quic
diff src/event/ngx_event.h @ 5372:36b58ddb566d
Events: support for EPOLLRDHUP (ticket #320).
Since Linux 2.6.17, epoll is able to report about peer half-closed connection
using special EPOLLRDHUP flag on a read event.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Fri, 12 Jul 2013 14:51:07 +0400 |
parents | b95e70ae6bcd |
children | 3377f9459e99 |
line wrap: on
line diff
--- a/src/event/ngx_event.h +++ b/src/event/ngx_event.h @@ -71,7 +71,7 @@ struct ngx_event_s { unsigned deferred_accept:1; - /* the pending eof reported by kqueue or in aio chain operation */ + /* the pending eof reported by kqueue, epoll or in aio chain operation */ unsigned pending_eof:1; #if !(NGX_THREADS) @@ -349,6 +349,11 @@ extern ngx_event_actions_t ngx_event_a #define NGX_VNODE_EVENT 0 +#if (NGX_HAVE_EPOLL) && !(NGX_HAVE_EPOLLRDHUP) +#define EPOLLRDHUP 0 +#endif + + #if (NGX_HAVE_KQUEUE) #define NGX_READ_EVENT EVFILT_READ @@ -392,7 +397,7 @@ extern ngx_event_actions_t ngx_event_a #elif (NGX_HAVE_EPOLL) -#define NGX_READ_EVENT EPOLLIN +#define NGX_READ_EVENT (EPOLLIN|EPOLLRDHUP) #define NGX_WRITE_EVENT EPOLLOUT #define NGX_LEVEL_EVENT 0