STINNER Victor <victor.stin...@gmail.com> added the comment:

The socket.socket (Python type) has a private _io_refs counter. close() does 
nothing until _io_refs reachs zero.

Maybe we can develop an API to temporary increase the _io_refs counter to 
prevent a real close?

Pseudo-code:

@contextlib.contextmanager
def dont_close_socket(sock):
    assert not sock._closed
    sock._io_refs += 1
    try:
        yield sock
    finally:
        sock._io_refs -= 1

It may be a context manager or a new object. It would probably be better to put 
in the socket.socke type, since it uses private attributes.

----------
nosy: +haypo

_______________________________________
Python tracker <rep...@bugs.python.org>
<https://bugs.python.org/issue32038>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to