mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-21 15:12:02 +00:00
process possible SSL error on connection reset
This commit is contained in:
parent
e7054029c4
commit
d163880004
@ -311,6 +311,14 @@ int SecureSocketImpl::sendBytes(const void* buffer, int length, int flags)
|
|||||||
while (mustRetry(rc, remaining_time));
|
while (mustRetry(rc, remaining_time));
|
||||||
if (rc <= 0)
|
if (rc <= 0)
|
||||||
{
|
{
|
||||||
|
// At this stage we still can have last not yet recieved SSL message containing SSL error
|
||||||
|
// so make a read to force SSL to process possible SSL error
|
||||||
|
if (SSL_get_error(_pSSL, rc) == SSL_ERROR_SYSCALL && SocketImpl::lastError() == POCO_ECONNRESET)
|
||||||
|
{
|
||||||
|
char c = 0;
|
||||||
|
SSL_read(_pSSL, &c, 1);
|
||||||
|
}
|
||||||
|
|
||||||
rc = handleError(rc);
|
rc = handleError(rc);
|
||||||
if (rc == 0) throw SSLConnectionUnexpectedlyClosedException();
|
if (rc == 0) throw SSLConnectionUnexpectedlyClosedException();
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user