_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
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()