From e616d0915c513323affd938f7eb89d23d4e70df5 Mon Sep 17 00:00:00 2001 From: Igor Sysoev Date: Wed, 15 Apr 2020 14:54:09 +0300 Subject: [PATCH] Disabled epoll error processing when socket events are inactive. --- src/nxt_epoll_engine.c | 7 +++++++ 1 file changed, 7 insertions(+) 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);