diff options
| author | Brett Cannon <brett@python.org> | 2012-06-15 23:04:29 (GMT) |
|---|---|---|
| committer | Brett Cannon <brett@python.org> | 2012-06-15 23:04:29 (GMT) |
| commit | 24aa693c7ef8f217fbd238eb7af7d828e13a07eb (patch) | |
| tree | 7d01ab630c2e8eef1e168b1aa5d84131b60cfd50 /Lib/multiprocessing/util.py | |
| parent | 99d776fdf4aa5a66266ebcec2263fab501f03088 (diff) | |
| parent | 016ef551a793f72f582d707ce5bb55bf4940cf27 (diff) | |
| download | cpython-24aa693c7ef8f217fbd238eb7af7d828e13a07eb.zip cpython-24aa693c7ef8f217fbd238eb7af7d828e13a07eb.tar.gz cpython-24aa693c7ef8f217fbd238eb7af7d828e13a07eb.tar.bz2 | |
Merge
Diffstat (limited to 'Lib/multiprocessing/util.py')
| -rw-r--r-- | Lib/multiprocessing/util.py | 27 |
1 files changed, 15 insertions, 12 deletions
diff --git a/Lib/multiprocessing/util.py b/Lib/multiprocessing/util.py index 48abe38..8a6aede 100644 --- a/Lib/multiprocessing/util.py +++ b/Lib/multiprocessing/util.py @@ -269,21 +269,24 @@ _exiting = False def _exit_function(): global _exiting - info('process shutting down') - debug('running all "atexit" finalizers with priority >= 0') - _run_finalizers(0) + if not _exiting: + _exiting = True - for p in active_children(): - if p._daemonic: - info('calling terminate() for daemon %s', p.name) - p._popen.terminate() + info('process shutting down') + debug('running all "atexit" finalizers with priority >= 0') + _run_finalizers(0) - for p in active_children(): - info('calling join() for process %s', p.name) - p.join() + for p in active_children(): + if p._daemonic: + info('calling terminate() for daemon %s', p.name) + p._popen.terminate() - debug('running the remaining "atexit" finalizers') - _run_finalizers() + for p in active_children(): + info('calling join() for process %s', p.name) + p.join() + + debug('running the remaining "atexit" finalizers') + _run_finalizers() atexit.register(_exit_function) |
