Message308455
Nathaniel, thanks a lot for the comprehensive analysis.
It's now obvious that this weird Linux-specific socket.type quirk is of our own making and specific only to Python.
I've updated the PR:
1. *type* argument of 'socket.socket()' is passed as is to OS functions. It is now cleared of SOCK_NONBLOCK and SOCK_CLOEXEC on Linux.
2. socket.setblocking() no longer applies SOCK_NONBLOCK to socket.type.
That's it. I'm now certain that this is the correct way of handling this situation. socket.type must be fixed.
Please review the updated PR. |
|
Date |
User |
Action |
Args |
2017-12-16 05:13:02 | yselivanov | set | recipients:
+ yselivanov, pitrou, vstinner, christian.heimes, njs, asvetlov, methane |
2017-12-16 05:13:02 | yselivanov | set | messageid: <1513401182.7.0.213398074469.issue32331@psf.upfronthosting.co.za> |
2017-12-16 05:13:02 | yselivanov | link | issue32331 messages |
2017-12-16 05:13:02 | yselivanov | create | |
|