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 AlexWithBeard
Recipients AlexWithBeard
Date 2018-08-09.14:17:49
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1533824269.46.0.56676864532.issue34367@psf.upfronthosting.co.za>
In-reply-to
Content
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.
History
Date User Action Args
2018-08-09 14:17:49AlexWithBeardsetrecipients: + AlexWithBeard
2018-08-09 14:17:49AlexWithBeardsetmessageid: <1533824269.46.0.56676864532.issue34367@psf.upfronthosting.co.za>
2018-08-09 14:17:49AlexWithBeardlinkissue34367 messages
2018-08-09 14:17:49AlexWithBeardcreate