Revise to use atexit instead of monkeying with sys.exitfunc directly.

This commit is contained in:
Fred Drake 2000-08-18 15:50:54 +00:00
parent def003845b
commit 7b4fc17c6d

View file

@ -462,11 +462,8 @@ def __init__(self):
_active_limbo_lock.acquire()
_active[_get_ident()] = self
_active_limbo_lock.release()
try:
self.__oldexitfunc = _sys.exitfunc
except AttributeError:
self.__oldexitfunc = None
_sys.exitfunc = self.__exitfunc
import atexit
atexit.register(self.__exitfunc)
def _set_daemon(self):
return 0
@ -480,10 +477,6 @@ def __exitfunc(self):
while t:
t.join()
t = _pickSomeNonDaemonThread()
if self.__oldexitfunc:
if __debug__:
self._note("%s: calling exit handler", self)
self.__oldexitfunc()
if __debug__:
self._note("%s: exiting", self)
self._Thread__delete()