Mercurial > hg > nginx-quic
comparison src/os/unix/ngx_linux_sendfile_chain.c @ 5868:6bbad2e73245
Fixed counting of sent bytes in the send chain functions on EINTR.
Previously, a value of the "send" variable wasn't properly adjusted
in a rare case when syscall was interrupted by a signal. As a result,
these functions could send less data than the limit allows.
author | Valentin Bartenev <vbart@nginx.com> |
---|---|
date | Wed, 27 Aug 2014 20:51:01 +0400 |
parents | b63e829621ab |
children | de68ed551bfb |
comparison
equal
deleted
inserted
replaced
5867:26d28506282a | 5868:6bbad2e73245 |
---|---|
314 c->sent += sent; | 314 c->sent += sent; |
315 | 315 |
316 in = ngx_handle_sent_chain(in, sent); | 316 in = ngx_handle_sent_chain(in, sent); |
317 | 317 |
318 if (eintr) { | 318 if (eintr) { |
319 send = prev_send; | |
319 continue; | 320 continue; |
320 } | 321 } |
321 | 322 |
322 if (send - prev_send != sent) { | 323 if (send - prev_send != sent) { |
323 wev->ready = 0; | 324 wev->ready = 0; |