Mercurial > hg > nginx
comparison src/event/ngx_event_openssl.c @ 1865:4bcbb0fe5c8d
fix bogus crit log message "SSL_shutdown() failed" introduced in r1755
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Tue, 22 Jan 2008 16:04:35 +0000 |
parents | f00b30557c81 |
children | c2cd0720f292 |
comparison
equal
deleted
inserted
replaced
1864:524831ec3e69 | 1865:4bcbb0fe5c8d |
---|---|
1035 | 1035 |
1036 sslerr = 0; | 1036 sslerr = 0; |
1037 | 1037 |
1038 /* SSL_shutdown() never returns -1, on error it returns 0 */ | 1038 /* SSL_shutdown() never returns -1, on error it returns 0 */ |
1039 | 1039 |
1040 if (n != 1) { | 1040 if (n != 1 && ERR_peek_error()) { |
1041 sslerr = SSL_get_error(c->ssl->connection, n); | 1041 sslerr = SSL_get_error(c->ssl->connection, n); |
1042 | 1042 |
1043 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, | 1043 ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0, |
1044 "SSL_get_error: %d", sslerr); | 1044 "SSL_get_error: %d", sslerr); |
1045 } | 1045 } |
1046 | 1046 |
1047 if (n == 1 | 1047 if (n == 1 || sslerr == 0 || sslerr == SSL_ERROR_ZERO_RETURN) { |
1048 || sslerr == SSL_ERROR_ZERO_RETURN | |
1049 || (sslerr == 0 && c->timedout)) | |
1050 { | |
1051 SSL_free(c->ssl->connection); | 1048 SSL_free(c->ssl->connection); |
1052 c->ssl = NULL; | 1049 c->ssl = NULL; |
1053 | 1050 |
1054 return NGX_OK; | 1051 return NGX_OK; |
1055 } | 1052 } |