Made retry secure write/read use the exactly last parameters #4539

This commit is contained in:
XinyuHou 2015-04-17 14:01:35 +01:00
parent 951cbe9a62
commit 586a893201
2 changed files with 28 additions and 1 deletions

View file

@ -370,6 +370,21 @@ SecureSocket::checkResult(int n, bool& fatal, bool& retry)
case SSL_ERROR_SYSCALL:
LOG((CLOG_ERR "secure socket error: SSL_ERROR_SYSCALL"));
if (ERR_peek_error() == 0) {
if (n == 0) {
LOG((CLOG_ERR "an EOF violates the protocol"));
}
else if (n == -1) {
// underlying socket I/O reproted an error
try {
ARCH->throwErrorOnSocket(getSocket());
}
catch (XArchNetwork& e) {
LOG((CLOG_ERR "%s", e.what()));
}
}
}
fatal = true;
break;