fix the previous commit

This commit is contained in:
Igor Sysoev 2009-04-29 13:07:16 +00:00
parent dcc9205a39
commit a70d086812
2 changed files with 20 additions and 13 deletions

View File

@ -801,15 +801,13 @@ ngx_connection_error(ngx_connection_t *c, ngx_err_t err, char *text)
{ {
ngx_uint_t level; ngx_uint_t level;
/* Winsock may return NGX_ECONNABORTED instead of NGX_ECONNRESET */
if ((err == NGX_ECONNRESET
#if (NGX_WIN32) #if (NGX_WIN32)
|| err == NGX_ECONNABORTED
/* Winsock returns NGX_ECONNABORTED instead of NGX_ECONNRESET */
if (err == NGX_ECONNABORTED
#else
if (err == NGX_ECONNRESET
#endif #endif
&& c->log_error == NGX_ERROR_IGNORE_ECONNRESET) ) && c->log_error == NGX_ERROR_IGNORE_ECONNRESET)
{ {
return 0; return 0;
} }

View File

@ -16,6 +16,7 @@ ngx_wsarecv(ngx_connection_t *c, u_char *buf, size_t size)
u_long bytes, flags; u_long bytes, flags;
WSABUF wsabuf[1]; WSABUF wsabuf[1];
ngx_err_t err; ngx_err_t err;
ngx_uint_t n;
ngx_event_t *rev; ngx_event_t *rev;
wsabuf[0].buf = (char *) buf; wsabuf[0].buf = (char *) buf;
@ -40,10 +41,13 @@ ngx_wsarecv(ngx_connection_t *c, u_char *buf, size_t size)
return NGX_AGAIN; return NGX_AGAIN;
} }
rev->error = 1; n = ngx_connection_error(c, err, "WSARecv() failed");
ngx_connection_error(c, err, "WSARecv() failed");
return NGX_ERROR; if (n == NGX_ERROR){
rev->error = 1;
}
return n;
} }
if (bytes < size) { if (bytes < size) {
@ -65,6 +69,7 @@ ngx_overlapped_wsarecv(ngx_connection_t *c, u_char *buf, size_t size)
u_long bytes, flags; u_long bytes, flags;
WSABUF wsabuf[1]; WSABUF wsabuf[1];
ngx_err_t err; ngx_err_t err;
ngx_uint_t n;
ngx_event_t *rev; ngx_event_t *rev;
LPWSAOVERLAPPED ovlp; LPWSAOVERLAPPED ovlp;
@ -131,9 +136,13 @@ ngx_overlapped_wsarecv(ngx_connection_t *c, u_char *buf, size_t size)
return NGX_AGAIN; return NGX_AGAIN;
} }
rev->error = 1; n = ngx_connection_error(c, err, "WSARecv() failed");
ngx_connection_error(c, err, "WSARecv() failed");
return NGX_ERROR; if (n == NGX_ERROR){
rev->error = 1;
}
return n;
} }
if (ngx_event_flags & NGX_USE_IOCP_EVENT) { if (ngx_event_flags & NGX_USE_IOCP_EVENT) {