From: Michael W. Hudson Date: Fri, 4 Jan 2002 12:29:45 +0000 (+0000) Subject: Backport gvanrossum's checkin of revision 1.20: X-Git-Tag: v2.2.1c1~253 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=c8ae21a8647a01049f0ee8b178bbb8bb4856c35f;p=thirdparty%2FPython%2Fcpython.git Backport gvanrossum's checkin of revision 1.20: 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! (has this gone into 2.1.2 yet?) --- diff --git a/Lib/threading.py b/Lib/threading.py index fbf40cd04c67..6543cc36cbe7 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()