aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/os/unix/ngx_linux_sendfile_chain.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/os/unix/ngx_linux_sendfile_chain.c b/src/os/unix/ngx_linux_sendfile_chain.c
index 9f272225a..09c153059 100644
--- a/src/os/unix/ngx_linux_sendfile_chain.c
+++ b/src/os/unix/ngx_linux_sendfile_chain.c
@@ -343,7 +343,12 @@ ngx_linux_sendfile_thread(ngx_connection_t *c, ngx_buf_t *file, size_t size,
if (task->event.complete) {
task->event.complete = 0;
- if (ctx->err && ctx->err != NGX_EAGAIN) {
+ if (ctx->err == NGX_EAGAIN) {
+ *sent = 0;
+ return NGX_AGAIN;
+ }
+
+ if (ctx->err) {
wev->error = 1;
ngx_connection_error(c, ctx->err, "sendfile() failed");
return NGX_ERROR;