comparison src/os/unix/ngx_writev_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
132 c->sent += sent; 132 c->sent += sent;
133 133
134 in = ngx_handle_sent_chain(in, sent); 134 in = ngx_handle_sent_chain(in, sent);
135 135
136 if (eintr) { 136 if (eintr) {
137 send = prev_send;
137 continue; 138 continue;
138 } 139 }
139 140
140 if (send - prev_send != sent) { 141 if (send - prev_send != sent) {
141 wev->ready = 0; 142 wev->ready = 0;