Mercurial > hg > nginx-ranges
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); |