tls: retry for all SSL_ERROR_SYSCALL errors.
authorVic Lee <llyzs.vic@gmail.com>
Thu, 19 Mar 2015 04:48:04 +0000 (12:48 +0800)
committerVic Lee <llyzs.vic@gmail.com>
Fri, 20 Mar 2015 02:03:30 +0000 (10:03 +0800)
libfreerdp/crypto/tls.c

index bb189eb..b75cca2 100644 (file)
@@ -92,16 +92,7 @@ static int bio_rdp_tls_write(BIO* bio, const char* buf, int size)
                                break;
 
                        case SSL_ERROR_SYSCALL:
-                               error = WSAGetLastError();
-                               if ((error == WSAEWOULDBLOCK) || (error == WSAEINTR) ||
-                                       (error == WSAEINPROGRESS) || (error == WSAEALREADY))
-                               {
-                                       BIO_set_flags(bio, (BIO_FLAGS_WRITE | BIO_FLAGS_SHOULD_RETRY));
-                               }
-                               else
-                               {
-                                       BIO_clear_flags(bio, BIO_FLAGS_SHOULD_RETRY);
-                               }
+                               BIO_set_flags(bio, (BIO_FLAGS_WRITE | BIO_FLAGS_SHOULD_RETRY));
                                break;
 
                        case SSL_ERROR_SSL:
@@ -166,16 +157,7 @@ static int bio_rdp_tls_read(BIO* bio, char* buf, int size)
                                break;
 
                        case SSL_ERROR_SYSCALL:
-                               error = WSAGetLastError();
-                               if ((error == WSAEWOULDBLOCK) || (error == WSAEINTR) ||
-                                       (error == WSAEINPROGRESS) || (error == WSAEALREADY))
-                               {
-                                       BIO_set_flags(bio, (BIO_FLAGS_READ | BIO_FLAGS_SHOULD_RETRY));
-                               }
-                               else
-                               {
-                                       BIO_clear_flags(bio, BIO_FLAGS_SHOULD_RETRY);
-                               }
+                               BIO_set_flags(bio, (BIO_FLAGS_READ | BIO_FLAGS_SHOULD_RETRY));
                                break;
                }
        }