Message278946
I think this patch should be reverted. It breaks backwards compatibility:
import socket
sock0 = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0)
sock = socket.socket(
socket.AF_INET, socket.SOCK_STREAM, 0, sock0.fileno())
sock0.close()
sock.close()
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. |
|
Date |
User |
Action |
Args |
2016-10-18 22:50:01 | yselivanov | set | recipients:
+ yselivanov, vstinner, python-dev, martin.panter |
2016-10-18 22:50:01 | yselivanov | set | messageid: <1476831001.78.0.487979920802.issue26685@psf.upfronthosting.co.za> |
2016-10-18 22:50:01 | yselivanov | link | issue26685 messages |
2016-10-18 22:50:01 | yselivanov | create | |
|