add Transport.atfork to handle the case where a forked child needs to cleanly dispose of a Transport where the socket is shared with its parent
This commit is contained in:
parent
be7d99886c
commit
6a145dea09
|
@ -325,6 +325,19 @@ class Transport (threading.Thread):
|
||||||
out += ' (connecting)'
|
out += ' (connecting)'
|
||||||
out += '>'
|
out += '>'
|
||||||
return out
|
return out
|
||||||
|
|
||||||
|
def atfork(self):
|
||||||
|
"""
|
||||||
|
Terminate this Transport without closing the session. On posix
|
||||||
|
systems, if a Transport is open during process forking, both parent
|
||||||
|
and child will share the underlying socket, but only one process can
|
||||||
|
use the connection (without corrupting the session). Use this method
|
||||||
|
to clean up a Transport object without disrupting the other process.
|
||||||
|
|
||||||
|
@since: 1.6
|
||||||
|
"""
|
||||||
|
self.sock.close()
|
||||||
|
self.close()
|
||||||
|
|
||||||
def get_security_options(self):
|
def get_security_options(self):
|
||||||
"""
|
"""
|
||||||
|
|
Loading…
Reference in New Issue