Yury Selivanov <yseliva...@gmail.com> added the comment: 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. ---------- _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue32331> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com