Message323323
If more than one thread is waiting for the multiprocessing.pool.AsyncResult (aka ApplyResult) returned from apply_async, only one thread will be notified once the result arrives.
It happens because AsyncResult._set calls notify upon the result arrival, not notify_all.
threading.Event used in Python 3 uses notify_all.
Reproduction script is attached.
Expected outcome:
1
1
is printed to STDOUT.
Observed outcome:
The script hangs. |
|
Date |
User |
Action |
Args |
2018-08-09 14:17:49 | AlexWithBeard | set | recipients:
+ AlexWithBeard |
2018-08-09 14:17:49 | AlexWithBeard | set | messageid: <1533824269.46.0.56676864532.issue34367@psf.upfronthosting.co.za> |
2018-08-09 14:17:49 | AlexWithBeard | link | issue34367 messages |
2018-08-09 14:17:49 | AlexWithBeard | create | |
|