comparison src/os/unix/ngx_writev_chain.c @ 531:d41628eb4d0a NGINX_0_8_12

nginx 0.8.12 *) Feature: the "sendfile" parameter in the "aio" directive on FreeBSD. *) Bugfix: in try_files; the bug had appeared in 0.8.11. *) Bugfix: in memcached; the bug had appeared in 0.8.11.
author Igor Sysoev <http://sysoev.ru>
date Mon, 31 Aug 2009 00:00:00 +0400
parents f7cd062ee035
children
comparison
equal deleted inserted replaced
530:1fd1b769cd78 531:d41628eb4d0a
108 n = writev(c->fd, vec.elts, vec.nelts); 108 n = writev(c->fd, vec.elts, vec.nelts);
109 109
110 if (n == -1) { 110 if (n == -1) {
111 err = ngx_errno; 111 err = ngx_errno;
112 112
113 if (err == NGX_EAGAIN || err == NGX_EINTR) { 113 switch (err) {
114 if (err == NGX_EINTR) { 114 case NGX_EAGAIN:
115 eintr = 1; 115 break;
116 }
117 116
118 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, err, 117 case NGX_EINTR:
119 "writev() not ready"); 118 eintr = 1;
119 break;
120 120
121 } else { 121 default:
122 wev->error = 1; 122 wev->error = 1;
123 (void) ngx_connection_error(c, err, "writev() failed"); 123 (void) ngx_connection_error(c, err, "writev() failed");
124 return NGX_CHAIN_ERROR; 124 return NGX_CHAIN_ERROR;
125 } 125 }
126
127 ngx_log_debug0(NGX_LOG_DEBUG_EVENT, c->log, err,
128 "writev() not ready");
126 } 129 }
127 130
128 sent = n > 0 ? n : 0; 131 sent = n > 0 ? n : 0;
129 132
130 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "writev: %z", sent); 133 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, "writev: %z", sent);