Author: vbart Date: 2013-04-12 15:04:23 +0000 (Fri, 12 Apr 2013) New Revision: 5172 URL: http://trac.nginx.org/nginx/changeset/5172/nginx
Log: Events: handle only active events in eventport. We generate both read and write events if an error event was returned by port_getn() without POLLIN/POLLOUT, but we should not try to handle inactive events, they may even have no handler. Modified: trunk/src/event/modules/ngx_eventport_module.c Modified: trunk/src/event/modules/ngx_eventport_module.c =================================================================== --- trunk/src/event/modules/ngx_eventport_module.c 2013-04-12 15:02:33 UTC (rev 5171) +++ trunk/src/event/modules/ngx_eventport_module.c 2013-04-12 15:04:23 UTC (rev 5172) @@ -530,6 +530,14 @@ rev = c->read; wev = c->write; + if (!rev->active) { + revents &= ~POLLIN; + } + + if (!wew->active) { + revents &= ~POLLOUT; + } + rev->active = 0; wev->active = 0; _______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-devel