diff options
Diffstat (limited to 'src/os/unix/ngx_writev_chain.c')
-rw-r--r-- | src/os/unix/ngx_writev_chain.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/os/unix/ngx_writev_chain.c b/src/os/unix/ngx_writev_chain.c index f95c2cad8..09e08e108 100644 --- a/src/os/unix/ngx_writev_chain.c +++ b/src/os/unix/ngx_writev_chain.c @@ -33,7 +33,11 @@ ngx_writev_chain(ngx_connection_t *c, ngx_chain_t *in, off_t limit) #if (NGX_HAVE_KQUEUE) - if ((ngx_event_flags & NGX_USE_KQUEUE_EVENT) && wev->pending_eof) { + if ((ngx_event_flags & NGX_USE_KQUEUE_EVENT) + && wev->pending_eof + /* FreeBSD 5.x-6.x may erroneously report ETIMEDOUT */ + && wev->kq_errno != NGX_ETIMEDOUT) + { (void) ngx_connection_error(c, wev->kq_errno, "kevent() reported about an closed connection"); wev->error = 1; |