From 4d774d62a5f32be58e56e7aedba685f353da31e8 Mon Sep 17 00:00:00 2001 From: Robey Pointer Date: Fri, 23 Apr 2004 22:55:16 +0000 Subject: [PATCH] [project @ Arch-1:robey@lag.net--2003-public%secsh--dev--1.0--patch-50] fearow date and last-minute fixes update release date of fearow to 23apr. fix channel._set_closed() to grab the lock before notifying the in/out buffers that the channel is closed. try roger's trick for finding the home folder on windows. --- Makefile | 2 +- README | 2 +- paramiko/__init__.py | 2 +- paramiko/channel.py | 8 ++++++-- paramiko/common.py | 2 +- 5 files changed, 10 insertions(+), 6 deletions(-) diff --git a/Makefile b/Makefile index a019929..a4e2c02 100644 --- a/Makefile +++ b/Makefile @@ -4,7 +4,7 @@ # charmander (10nov03) # doduo (04jan04) - 0.9 # eevee (08mar04) -# fearow (???) +# fearow (23apr04) release: python ./setup.py sdist --formats=zip diff --git a/README b/README index 8a74da1..3332463 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ paramiko 0.9 -"fearow" release, 10 apr 2004 +"fearow" release, 23 apr 2004 Copyright (c) 2003-2004 Robey Pointer diff --git a/paramiko/__init__.py b/paramiko/__init__.py index 0c7cec0..d39f762 100644 --- a/paramiko/__init__.py +++ b/paramiko/__init__.py @@ -61,7 +61,7 @@ if sys.version_info < (2, 2): __author__ = "Robey Pointer " -__date__ = "10 Apr 2004" +__date__ = "23 Apr 2004" __version__ = "0.9-fearow" #__credits__ = "Huzzah!" __license__ = "GNU Lesser General Public License (LGPL)" diff --git a/paramiko/channel.py b/paramiko/channel.py index 2a7bd20..b339f31 100644 --- a/paramiko/channel.py +++ b/paramiko/channel.py @@ -725,8 +725,12 @@ class Channel (object): def _set_closed(self): self.closed = True - self.in_buffer_cv.notifyAll() - self.out_buffer_cv.notifyAll() + try: + self.lock.acquire() + self.in_buffer_cv.notifyAll() + self.out_buffer_cv.notifyAll() + finally: + self.lock.release() def _send_eof(self): if self.eof_sent: diff --git a/paramiko/common.py b/paramiko/common.py index c9d5558..0c565e4 100644 --- a/paramiko/common.py +++ b/paramiko/common.py @@ -52,7 +52,7 @@ from Crypto.Util.randpool import PersistentRandomPool, RandomPool # keep a crypto-strong PRNG nearby try: - randpool = PersistentRandomPool(os.getenv('HOME') + '/.randpool') + randpool = PersistentRandomPool(os.path.join(os.path.expanduser('~'), '/.randpool')) except: # the above will likely fail on Windows - fall back to non-persistent random pool randpool = RandomPool()