This issue tracker has been migrated to GitHub, and is currently read-only.
For more information, see the GitHub FAQs in the Python's Developer Guide.

Author iritkatriel
Recipients Arkady M, davin, iritkatriel, pitrou
Date 2020-08-09.23:08:48
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1597014528.26.0.898694035673.issue40860@roundup.psfhosted.org>
In-reply-to
Content
The source code for the Process class is here: https://github.com/python/cpython/blob/master/Lib/multiprocessing/process.py

You can see that join and start both modify the global, non thread safe _children set. I'm guessing this is where you're seeing interference between threads.

I'm not sure a lock on start is enough - I think you need to get the lock for the join_process(job, deadline) call as well, because join can modify _children too. (Or, alternatively, manage all processes from a single thread.)
History
Date User Action Args
2020-08-09 23:08:48iritkatrielsetrecipients: + iritkatriel, pitrou, davin, Arkady M
2020-08-09 23:08:48iritkatrielsetmessageid: <1597014528.26.0.898694035673.issue40860@roundup.psfhosted.org>
2020-08-09 23:08:48iritkatriellinkissue40860 messages
2020-08-09 23:08:48iritkatrielcreate