in src/event/ngx_event_openssl.c:1907, i found function
ngx_ssl_clear_error() call openssl function ERR_peek_error() in a
while loop, intend to clear global error code queue,

but according to openssl's documents and source code, ERR_peek_error() will not
pop the first error code , and  it does not modify the queue.

so it looks like this will cause a busy loop.

is my understanding correct?

reference:

nginx source code
"
static void
ngx_ssl_clear_error(ngx_log_t *log)
{
    while (ERR_peek_error()) {
        ngx_ssl_error(NGX_LOG_ALERT, log, 0, "ignoring stale global SSL error");
    }

    ERR_clear_error();
}

"

openssl source code:
https://github.com/openssl/openssl/blob/master/crypto/err/err.c#L770

_______________________________________________
nginx-devel mailing list
[email protected]
http://mailman.nginx.org/mailman/listinfo/nginx-devel

Reply via email to