-
Notifications
You must be signed in to change notification settings - Fork 840
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Do not disconnect on SSL_ERROR_WANT_WRITE #928
Conversation
Codecov Report
@@ Coverage Diff @@
## master #928 +/- ##
==========================================
- Coverage 82.42% 82.01% -0.42%
==========================================
Files 20 21 +1
Lines 3636 3781 +145
Branches 540 562 +22
==========================================
+ Hits 2997 3101 +104
- Misses 494 521 +27
- Partials 145 159 +14
Continue to review full report at Codecov.
|
Thanks. Is there any way to reproduce this? |
@lukebakken : I saw this on Windows 7 on a lower spec'ed machine. Using Python 3.6.4, and a |
In certain cases, when using Python 3.5+, `SSLSocket.send` may raise `ssl.SSL_ERROR_WANT_WRITE` when the socket is not currently able to write. The previous behavior would close the connection. The new behavior is to treat this just like an `EWOULDBLOCK` socket error which is what this is analogous to. Signed-off-by: Sergey Kizunov <sergey.kizunov@ni.com>
I've faced with this bug too. Hope this fix will be in release soon. Reproduction is very simple — use 3.5+ and send one big message (100k in my case for real network, may be bigger for localhost). If this message will be bigger than underlying socket buffer — you'll get the error. Also doc says that both |
That possibility of either |
Do not disconnect on SSL_ERROR_WANT_WRITE (cherry picked from commit 097c144)
In certain cases, when using Python 3.5+,
SSLSocket.send
mayraise
ssl.SSL_ERROR_WANT_WRITE
when the socket is not currentlyable to write. The previous behavior would close the connection.
The new behavior is to treat this just like an
EWOULDBLOCK
socket error which is what this is analogous to.
Signed-off-by: Sergey Kizunov sergey.kizunov@ni.com