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;
/* Winsock may return NGX_ECONNABORTED instead of NGX_ECONNRESET */
if ((err == NGX_ECONNRESET
#if (NGX_WIN32)
/* Winsock returns NGX_ECONNABORTED instead of NGX_ECONNRESET */
if (err == NGX_ECONNABORTED
#else
if (err == NGX_ECONNRESET
|| err == NGX_ECONNABORTED
#endif
&& c->log_error == NGX_ERROR_IGNORE_ECONNRESET)
) && c->log_error == NGX_ERROR_IGNORE_ECONNRESET)
{
return 0;
}

View File

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