summaryrefslogtreecommitdiffstats
path: root/Lib/multiprocessing
diff options
context:
space:
mode:
authorAntoine Pitrou <pitrou@free.fr>2017-08-16 18:53:28 (GMT)
committerGitHub <noreply@github.com>2017-08-16 18:53:28 (GMT)
commitee84a608587b930176d37303afae8a4358e15990 (patch)
treeaade6691a045b2dc375af1b1afa4c2dbc01e162c /Lib/multiprocessing
parent17657bb9458ff8f8804b7637d61686a68f4b9471 (diff)
downloadcpython-ee84a608587b930176d37303afae8a4358e15990.zip
cpython-ee84a608587b930176d37303afae8a4358e15990.tar.gz
cpython-ee84a608587b930176d37303afae8a4358e15990.tar.bz2
bpo-18966: non-daemonic threads created by a multiprocessing.Process should be joined on exit (#3111)
* bpo-18966: non-daemonic threads created by a multiprocessing.Process should be joined on exit * Add NEWS blurb
Diffstat (limited to 'Lib/multiprocessing')
-rw-r--r--Lib/multiprocessing/process.py2
1 files changed, 2 insertions, 0 deletions
diff --git a/Lib/multiprocessing/process.py b/Lib/multiprocessing/process.py
index 8e500dc..8fff3e1 100644
--- a/Lib/multiprocessing/process.py
+++ b/Lib/multiprocessing/process.py
@@ -17,6 +17,7 @@ import os
import sys
import signal
import itertools
+import threading
from _weakrefset import WeakSet
#
@@ -311,6 +312,7 @@ class BaseProcess(object):
sys.stderr.write('Process %s:\n' % self.name)
traceback.print_exc()
finally:
+ threading._shutdown()
util.info('process exiting with exitcode %d' % exitcode)
sys.stdout.flush()
sys.stderr.flush()