]> granicus.if.org Git - python/commit
#Issue3088 in-progress: Race condition with instances of classes derived from threadi...
authorAmaury Forgeot d'Arc <amauryfa@gmail.com>
Tue, 1 Jul 2008 20:59:49 +0000 (20:59 +0000)
committerAmaury Forgeot d'Arc <amauryfa@gmail.com>
Tue, 1 Jul 2008 20:59:49 +0000 (20:59 +0000)
commitb15bdf7f7a736f49f783ab75904e6b2438449743
treecf3edb347f78d01c4ee03d06c05fb107aedc9937
parentceda6a67ce93dd9ac982ead61a23f98f85ea1821
#Issue3088 in-progress: Race condition with instances of classes derived from threading.local:

When a thread touches such an object for the first time, a new thread-local __dict__ is created,
and the __init__ method is run.
But a thread switch can occur here; if the other thread touches the same object, it installs another
__dict__; when the first thread resumes, it updates the dictionary of the second...

This is the deep cause of the failures in test_multiprocessing involving "managers" objects.

Backport of r64601.
Lib/test/test_threading_local.py
Misc/NEWS
Modules/threadmodule.c