This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author yselivanov
Recipients martin.panter, python-dev, vstinner, yselivanov
Date 2016-10-18.22:50:01
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1476831001.78.0.487979920802.issue26685@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2016-10-18 22:50:01yselivanovsetrecipients: + yselivanov, vstinner, python-dev, martin.panter
2016-10-18 22:50:01yselivanovsetmessageid: <1476831001.78.0.487979920802.issue26685@psf.upfronthosting.co.za>
2016-10-18 22:50:01yselivanovlinkissue26685 messages
2016-10-18 22:50:01yselivanovcreate