]> git.kaiwu.me - nginx.git/commitdiff
fix bogus crit log message "SSL_shutdown() failed" introduced in r1755
authorIgor Sysoev <igor@sysoev.ru>
Tue, 22 Jan 2008 16:04:35 +0000 (16:04 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Tue, 22 Jan 2008 16:04:35 +0000 (16:04 +0000)
src/event/ngx_event_openssl.c

index 3f5ea2d78732762831424b709edd9cf3e3226cae..f2504eff6ce459bb37cf34781cbb03f5540cc696 100644 (file)
@@ -1037,17 +1037,14 @@ ngx_ssl_shutdown(ngx_connection_t *c)
 
     /* SSL_shutdown() never returns -1, on error it returns 0 */
 
-    if (n != 1) {
+    if (n != 1 && ERR_peek_error()) {
         sslerr = SSL_get_error(c->ssl->connection, n);
 
         ngx_log_debug1(NGX_LOG_DEBUG_EVENT, c->log, 0,
                        "SSL_get_error: %d", sslerr);
     }
 
-    if (n == 1
-        || sslerr == SSL_ERROR_ZERO_RETURN
-        || (sslerr == 0 && c->timedout))
-    {
+    if (n == 1 || sslerr == 0 || sslerr == SSL_ERROR_ZERO_RETURN) {
         SSL_free(c->ssl->connection);
         c->ssl = NULL;