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 }