Check 'SSL_ERROR_ZERO_RETURN' for a closed SSL connection. (#1762)

This commit is contained in:
xiehan
2025-07-25 21:31:52 +08:00
committed by GitHub
parent 37b56b8e6a
commit 4c2de16a3e

View File

@@ -453,10 +453,15 @@ static void __poller_handle_read(struct __poller_node *node,
else
{
nleft = SSL_read(node->data.ssl, p, POLLER_BUFSIZE);
if (nleft < 0)
if (nleft <= 0)
{
if (__poller_handle_ssl_error(node, nleft, poller) >= 0)
return;
if (errno == -SSL_ERROR_ZERO_RETURN)
nleft = 0;
else
nleft = -1;
}
}