Merge branch '1.11'

This commit is contained in:
Jeff Forcier 2013-09-27 17:33:58 -07:00
commit 6a6b200c32
3 changed files with 11 additions and 5 deletions

7
NEWS
View File

@ -12,6 +12,13 @@ Issues noted as "Fabric #NN" can be found at https://github.com/fabric/fabric/.
Releases Releases
======== ========
v1.11.2 (27th Sep 2013)
-----------------------
* #156: Fix potential deadlock condition when using Channel objects as sockets
(e.g. when using SSH gatewaying). Thanks to Steven Noonan and Frank Arnold
for catch & patch.
v1.10.4 (27th Sep 2013) v1.10.4 (27th Sep 2013)
----------------------- -----------------------

View File

@ -152,7 +152,6 @@ class Packetizer (object):
def close(self): def close(self):
self.__closed = True self.__closed = True
self.__socket.close()
def set_hexdump(self, hexdump): def set_hexdump(self, hexdump):
self.__dump_packets = hexdump self.__dump_packets = hexdump

View File

@ -400,7 +400,6 @@ class Transport (threading.Thread):
@since: 1.5.3 @since: 1.5.3
""" """
self.sock.close()
self.close() self.close()
def get_security_options(self): def get_security_options(self):
@ -614,11 +613,10 @@ class Transport (threading.Thread):
""" """
if not self.active: if not self.active:
return return
self.active = False self.stop_thread()
self.packetizer.close()
self.join()
for chan in self._channels.values(): for chan in self._channels.values():
chan._unlink() chan._unlink()
self.sock.close()
def get_remote_server_key(self): def get_remote_server_key(self):
""" """
@ -1391,6 +1389,8 @@ class Transport (threading.Thread):
def stop_thread(self): def stop_thread(self):
self.active = False self.active = False
self.packetizer.close() self.packetizer.close()
while self.isAlive():
self.join(10)
### internals... ### internals...