comparison src/os/unix/ngx_channel.c @ 461:a88a3e4e158f release-0.1.5

nginx-0.1.5-RELEASE import *) Bugfix: on Solaris and Linux there may be too many "recvmsg() returned not enough data" alerts. *) Bugfix: there were the "writev() failed (22: Invalid argument)" errors on Solaris in proxy mode without sendfile. On other platforms that do not support sendfile at all the process got caught in an endless loop. *) Bugfix: segmentation fault on Solaris in proxy mode and using sendfile. *) Bugfix: segmentation fault on Solaris. *) Bugfix: on-line upgrade did not work on Linux. *) Bugfix: the ngx_http_autoindex_module module did not escape the spaces, the quotes, and the percent signs in the directory listing. *) Change: the decrease of the copy operations. *) Feature: the userid_p3p directive.
author Igor Sysoev <igor@sysoev.ru>
date Thu, 11 Nov 2004 14:07:14 +0000
parents 42d11f017717
children 5aecc125bc33
comparison
equal deleted inserted replaced
460:5f8319142dfc 461:a88a3e4e158f
118 118
119 ngx_log_error(NGX_LOG_ALERT, log, err, "recvmsg() failed"); 119 ngx_log_error(NGX_LOG_ALERT, log, err, "recvmsg() failed");
120 return NGX_ERROR; 120 return NGX_ERROR;
121 } 121 }
122 122
123 if (n == 0) {
124 ngx_log_debug0(NGX_LOG_DEBUG_CORE, log, 0, "recvmsg() returned zero");
125 return NGX_ERROR;
126 }
127
123 if ((size_t) n < sizeof(ngx_channel_t)) { 128 if ((size_t) n < sizeof(ngx_channel_t)) {
124 ngx_log_error(NGX_LOG_ALERT, log, 0, 129 ngx_log_error(NGX_LOG_ALERT, log, 0,
125 "recvmsg() returned not enough data"); 130 "recvmsg() returned not enough data: %uz", n);
126 return NGX_ERROR; 131 return NGX_ERROR;
127 } 132 }
128 133
129 #if (HAVE_MSGHDR_MSG_CONTROL) 134 #if (HAVE_MSGHDR_MSG_CONTROL)
130 135