Mercurial > hg > nginx
comparison src/event/modules/ngx_eventport_module.c @ 5170:6362bd26e4b0
Events: protection from stale events in eventport and devpoll.
Stale write event may happen if read and write events was reported both,
and processing of the read event closed descriptor.
In practice this might result in "sendfilev() failed (134: ..." or
"writev() failed (134: ..." errors when switching to next upstream server.
See report here:
http://mailman.nginx.org/pipermail/nginx/2013-April/038421.html
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Fri, 12 Apr 2013 15:02:33 +0000 |
parents | 4c36e15651f7 |
children | 98cbd8f92c87 |
comparison
equal
deleted
inserted
replaced
5169:f6bbe77794aa | 5170:6362bd26e4b0 |
---|---|
549 ngx_locked_post_event(rev, queue); | 549 ngx_locked_post_event(rev, queue); |
550 | 550 |
551 } else { | 551 } else { |
552 rev->handler(rev); | 552 rev->handler(rev); |
553 | 553 |
554 if (ev->closed) { | 554 if (ev->closed || ev->instance != instance) { |
555 continue; | 555 continue; |
556 } | 556 } |
557 } | 557 } |
558 | 558 |
559 if (rev->accept) { | 559 if (rev->accept) { |