Yury Selivanov added the comment:
I think this patch should be reverted. It breaks backwards compatibility:
sock0 = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
sock = socket.socket(
socket.AF_INET, socket.SOCK_STREAM, 0, sock0.fileno())
This code behaves differently on 3.5 vs 3.6.
In uvloop (https://github.com/magicstack/uvloop) I create Python sockets for
libuv socket handles. Sometimes, those handles are closed by libuv, and I have
no control over that. So right now, a lot of uvloop tests fail because
socket.close() now can raise an error.
It also doesn't make any sense to raise it anyways. socket.close() *must* be
safe to call even when the socket is already closed.
status: closed -> open
Python tracker <rep...@bugs.python.org>
Python-bugs-list mailing list