classification
Title: Race condition in wait with timeout for multiprocessing.Event
Type: behavior Stage:
Components: Library (Lib) Versions: Python 3.6
process
Status: open Resolution:
Dependencies: Superseder:
Assigned To: Nosy List: tomMoral
Priority: normal Keywords:

Created on 2017-11-09 13:48 by tomMoral, last changed 2017-11-09 13:48 by tomMoral.

Files
File name Uploaded Description Edit
concurrent_event.py tomMoral, 2017-11-09 13:48 Script to reproduce the bug.
Messages (1)
msg305960 - (view) Author: Thomas Moreau (tomMoral) * Date: 2017-11-09 13:48
If the methods `set` and `clear` of `multiprocessing.Event` are called one after another, while a `multiprocessing.Process` calls `wait`, the  `Event` does not match the documented behavior (https://docs.python.org/3.7/library/threading.html#threading.Event.wait) and the call to wait can return `False` even though the call to wait did not timeout (This happens both with `timeout=30` or `timeout=None`).

Attached is a script reproducing this issue.
The documentation should either be changed or the behavior should be updated.
History
Date User Action Args
2017-11-09 13:48:13tomMoralcreate