Disabled epoll error processing when socket events are inactive.

This commit is contained in:
Igor Sysoev
2020-04-15 14:54:09 +03:00
parent 9a422b8984
commit e616d0915c

View File

@@ -926,6 +926,13 @@ nxt_epoll_poll(nxt_event_engine_t *engine, nxt_msec_t timeout)
error = ((events & (EPOLLERR | EPOLLHUP)) != 0); error = ((events & (EPOLLERR | EPOLLHUP)) != 0);
ev->epoll_error = error; ev->epoll_error = error;
if (error
&& ev->read <= NXT_EVENT_BLOCKED
&& ev->write <= NXT_EVENT_BLOCKED)
{
error = 0;
}
#if (NXT_HAVE_EPOLL_EDGE) #if (NXT_HAVE_EPOLL_EDGE)
ev->epoll_eof = ((events & EPOLLRDHUP) != 0); ev->epoll_eof = ((events & EPOLLRDHUP) != 0);