diff options
author | Martin v. Löwis <martin@v.loewis.de> | 2007-01-04 21:06:12 (GMT) |
---|---|---|
committer | Martin v. Löwis <martin@v.loewis.de> | 2007-01-04 21:06:12 (GMT) |
commit | 7b7c9d420817e5ffb5fd3adbc19a9be4ba0f4604 (patch) | |
tree | 8eaff650a7faf94527173b9b2029a262c57adee7 /Lib/threading.py | |
parent | 769a40a1d046baddbac4c01fa8feada2ee9e5207 (diff) | |
download | cpython-7b7c9d420817e5ffb5fd3adbc19a9be4ba0f4604.zip cpython-7b7c9d420817e5ffb5fd3adbc19a9be4ba0f4604.tar.gz cpython-7b7c9d420817e5ffb5fd3adbc19a9be4ba0f4604.tar.bz2 |
Bug #1566280: Explicitly invoke threading._shutdown from Py_Main,
to avoid relying on atexit.
Will backport to 2.5.
Diffstat (limited to 'Lib/threading.py')
-rw-r--r-- | Lib/threading.py | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/Lib/threading.py b/Lib/threading.py index 5655dde..fecd3cc 100644 --- a/Lib/threading.py +++ b/Lib/threading.py @@ -636,13 +636,11 @@ class _MainThread(Thread): _active_limbo_lock.acquire() _active[_get_ident()] = self _active_limbo_lock.release() - import atexit - atexit.register(self.__exitfunc) def _set_daemon(self): return False - def __exitfunc(self): + def _exitfunc(self): self._Thread__stop() t = _pickSomeNonDaemonThread() if t: @@ -715,9 +713,11 @@ def enumerate(): from thread import stack_size -# Create the main thread object +# Create the main thread object, +# and make it available for the interpreter +# (Py_Main) as threading._shutdown. -_MainThread() +_shutdown = _MainThread()._exitfunc # get thread-local implementation, either from the thread # module, or from the python fallback |