]> git.kaiwu.me - nginx.git/commit
Merging r4195, r4196:
authorIgor Sysoev <igor@sysoev.ru>
Tue, 1 Nov 2011 14:13:25 +0000 (14:13 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Tue, 1 Nov 2011 14:13:25 +0000 (14:13 +0000)
commita1db86a30b82de2286d32f3ebf71de340d22e2d1
treeaf652afea943d5dca11a2cf44e3ab3a8057b1154
parent844ce56e348734b597ba9307dff2d5051a280b52
Merging r4195, r4196:

AIO related fixes:

*) Fix for connection drops with AIO.

   Connections serving content with AIO to fast clients were dropped with
   "client timed out" messages after send_timeout from response start.

*) Fix for socket leak with "aio sendfile" and "limit_rate".

   Second aio post happened when timer set by limit_rate expired while we have
   aio request in flight, resulting in "second aio post" alert and socket leak.

   The patch adds actual protection from aio calls with r->aio already set to
   aio sendfile code in ngx_http_copy_filter().  This should fix other cases
   as well, e.g. when sending buffered to disk upstream replies while still
   talking to upstream.

   The ngx_http_writer() is also fixed to handle the above case (though it's
   mostly optimization now).
src/http/ngx_http_copy_filter_module.c
src/http/ngx_http_request.c