cpython: 751371dd4d1c (original) (raw)

Mercurial > cpython

changeset 88640:751371dd4d1c 2.7

Issue #14548: Make multiprocessing finalizers check pid before running to cope with possibility of gc running just after fork. (Backport from 3.x.) [#14548]

Richard Oudkerk roudkerk@google.com
date Thu, 23 Jan 2014 00:11:04 +0000
parents d8af233da629
children bcfbab86f49a
files Lib/multiprocessing/util.py Misc/NEWS
diffstat 2 files changed, 13 insertions(+), 3 deletions(-)[+] [-] Lib/multiprocessing/util.py 12 Misc/NEWS 4

line wrap: on

line diff

--- a/Lib/multiprocessing/util.py +++ b/Lib/multiprocessing/util.py @@ -32,6 +32,7 @@

SUCH DAMAGE.

# +import os import itertools import weakref import atexit @@ -184,6 +185,7 @@ class Finalize(object): self._args = args self._kwargs = kwargs or {} self._key = (exitpriority, _finalizer_counter.next())

_finalizer_registry[self._key] = self @@ -196,9 +198,13 @@ class Finalize(object): except KeyError: sub_debug('finalizer no longer registered') else:

--- a/Misc/NEWS +++ b/Misc/NEWS @@ -38,6 +38,10 @@ Core and Builtins Library ------- +- Issue #14548: Make multiprocessing finalizers check pid before