]> granicus.if.org Git - python/commitdiff
Fix an occasional test_ftplib failure, following r79226.
authorAntoine Pitrou <solipsis@pitrou.net>
Mon, 22 Mar 2010 14:41:48 +0000 (14:41 +0000)
committerAntoine Pitrou <solipsis@pitrou.net>
Mon, 22 Mar 2010 14:41:48 +0000 (14:41 +0000)
Lib/test/test_ftplib.py

index e8241e839aea157f9c98aa23fa70bd3bc980e5cf..182d5a7c74326e2abf62219af065902d39bf7aa9 100644 (file)
@@ -293,7 +293,9 @@ if ssl is not None:
             try:
                 return super(SSLConnection, self).send(data)
             except ssl.SSLError, err:
-                if err.args[0] in (ssl.SSL_ERROR_EOF, ssl.SSL_ERROR_ZERO_RETURN):
+                if err.args[0] in (ssl.SSL_ERROR_EOF, ssl.SSL_ERROR_ZERO_RETURN,
+                                   ssl.SSL_ERROR_WANT_READ,
+                                   ssl.SSL_ERROR_WANT_WRITE):
                     return 0
                 raise
 
@@ -301,6 +303,9 @@ if ssl is not None:
             try:
                 return super(SSLConnection, self).recv(buffer_size)
             except ssl.SSLError, err:
+                if err.args[0] in (ssl.SSL_ERROR_WANT_READ,
+                                   ssl.SSL_ERROR_WANT_WRITE):
+                    return ''
                 if err.args[0] in (ssl.SSL_ERROR_EOF, ssl.SSL_ERROR_ZERO_RETURN):
                     self.handle_close()
                     return ''