diff options
author | Guido van Rossum <guido@python.org> | 2001-12-28 22:07:09 (GMT) |
---|---|---|
committer | Guido van Rossum <guido@python.org> | 2001-12-28 22:07:09 (GMT) |
commit | f21b2aafa9b78891b568264a32f40ee8a8384aa1 (patch) | |
tree | 3a2dbee1ab5585355393743108992fe61e0475e9 | |
parent | 2764a3a50ebb467690d77f8925a3414d71756311 (diff) | |
download | cpython-f21b2aafa9b78891b568264a32f40ee8a8384aa1.zip cpython-f21b2aafa9b78891b568264a32f40ee8a8384aa1.tar.gz cpython-f21b2aafa9b78891b568264a32f40ee8a8384aa1.tar.bz2 |
Thread.__bootstrap(): ignore exceptions in the self.__delete() call in
the finally clause. An exception here could happen when a daemon
thread exits after the threading module has already been trashed by
the import finalization, and there's not much of a point in trying to
insist doing the cleanup in that stage.
This should fix SF bug ##497111: active_limbo_lock error at program
exit.
2.1.2 and 2.2.1 Bugfix candidate!
-rw-r--r-- | Lib/threading.py | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Lib/threading.py b/Lib/threading.py index fbf40cd..6543cc3 100644 --- a/Lib/threading.py +++ b/Lib/threading.py @@ -421,7 +421,10 @@ class Thread(_Verbose): self._note("%s.__bootstrap(): normal return", self) finally: self.__stop() - self.__delete() + try: + self.__delete() + except: + pass def __stop(self): self.__block.acquire() |