the fix for issue 874900 to fix the use of the threading module in a
post-fork python process. A NEWS entry for this already exists with
the previous Lib/threading commit for this bug.
current = currentThread()
_active_limbo_lock.acquire()
try:
- 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.