summaryrefslogtreecommitdiffhomepage
path: root/src/nxt_epoll_engine.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/nxt_epoll_engine.c')
-rw-r--r--src/nxt_epoll_engine.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/nxt_epoll_engine.c b/src/nxt_epoll_engine.c
index a944834e..d53df1bc 100644
--- a/src/nxt_epoll_engine.c
+++ b/src/nxt_epoll_engine.c
@@ -926,6 +926,13 @@ nxt_epoll_poll(nxt_event_engine_t *engine, nxt_msec_t timeout)
error = ((events & (EPOLLERR | EPOLLHUP)) != 0);
ev->epoll_error = error;
+ if (error
+ && ev->read <= NXT_EVENT_BLOCKED
+ && ev->write <= NXT_EVENT_BLOCKED)
+ {
+ error = 0;
+ }
+
#if (NXT_HAVE_EPOLL_EDGE)
ev->epoll_eof = ((events & EPOLLRDHUP) != 0);