Skip to content

Commit

Permalink
gnutls: Handle GNUTLS_E_INTERRUPTED as well as GNUTLS_E_AGAIN
Browse files Browse the repository at this point in the history
  • Loading branch information
tatsuhiro-t committed Jan 8, 2014
1 parent 2f02946 commit 3c78929
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions src/LibgnutlsTLSSession.cc
Original file line number Diff line number Diff line change
Expand Up @@ -134,7 +134,7 @@ int GnuTLSSession::closeConnection()
rv_ = gnutls_bye(sslSession_, GNUTLS_SHUT_WR);
if(rv_ == GNUTLS_E_SUCCESS) {
return TLS_ERR_OK;
} else if(rv_ == GNUTLS_E_AGAIN) {
} else if(rv_ == GNUTLS_E_AGAIN || rv_ == GNUTLS_E_INTERRUPTED) {
return TLS_ERR_WOULDBLOCK;
} else {
return TLS_ERR_ERROR;
Expand All @@ -155,7 +155,7 @@ ssize_t GnuTLSSession::writeData(const void* data, size_t len)
ssize_t ret = rv_;
rv_ = 0;
return ret;
} else if(rv_ == GNUTLS_E_AGAIN) {
} else if(rv_ == GNUTLS_E_AGAIN || rv_ == GNUTLS_E_INTERRUPTED) {
return TLS_ERR_WOULDBLOCK;
} else {
return TLS_ERR_ERROR;
Expand All @@ -170,7 +170,7 @@ ssize_t GnuTLSSession::readData(void* data, size_t len)
ssize_t ret = rv_;
rv_ = 0;
return ret;
} else if(rv_ == GNUTLS_E_AGAIN) {
} else if(rv_ == GNUTLS_E_AGAIN || rv_ == GNUTLS_E_INTERRUPTED) {
return TLS_ERR_WOULDBLOCK;
} else {
return TLS_ERR_ERROR;
Expand All @@ -183,7 +183,7 @@ int GnuTLSSession::tlsConnect(const std::string& hostname,
handshakeErr = "";
rv_ = gnutls_handshake(sslSession_);
if(rv_ < 0) {
if(rv_ == GNUTLS_E_AGAIN) {
if(rv_ == GNUTLS_E_AGAIN || rv_ == GNUTLS_E_INTERRUPTED) {
return TLS_ERR_WOULDBLOCK;
} else {
return TLS_ERR_ERROR;
Expand Down Expand Up @@ -282,7 +282,7 @@ int GnuTLSSession::tlsAccept()
rv_ = gnutls_handshake(sslSession_);
if(rv_ == GNUTLS_E_SUCCESS) {
return TLS_ERR_OK;
} else if(rv_ == GNUTLS_E_AGAIN) {
} else if(rv_ == GNUTLS_E_AGAIN || rv_ == GNUTLS_E_INTERRUPTED) {
return TLS_ERR_WOULDBLOCK;
} else {
return TLS_ERR_ERROR;
Expand Down

0 comments on commit 3c78929

Please sign in to comment.