From: Antoine Pitrou Date: Sat, 6 Sep 2008 23:04:32 +0000 (+0000) Subject: Backport relevant part of r66274 (in issue #874900). X-Git-Tag: v2.6rc1~38 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9fb1aca5d863a2ee3f34417c5018f2797c4c3b01;p=thirdparty%2FPython%2Fcpython.git Backport relevant part of r66274 (in issue #874900). --- diff --git a/Lib/threading.py b/Lib/threading.py index 25eb9b61c7e4..a776c66752b0 100644 --- a/Lib/threading.py +++ b/Lib/threading.py @@ -847,9 +847,12 @@ def _after_fork(): new_active = {} current = current_thread() with _active_limbo_lock: - for ident, thread in _active.iteritems(): + for thread in _active.itervalues(): if thread is current: - # There is only one active thread. + # There is only one active thread. We reset the ident to + # its new value since it can have changed. + ident = _get_ident() + thread._Thread__ident = ident new_active[ident] = thread else: # All the others are already stopped.