[issue29797] Deadlock with multiprocessing.Queue()

Eryk Sun report at bugs.python.org
Sun Mar 12 05:47:32 EDT 2017


Eryk Sun added the comment:

On Windows the "QueueFeederThread" in each child process is blocked in WaitForMultipleObjects in PipeConnection._send_bytes. The pipe buffer size is 8 KiB, and each pickled int is 5-6 bytes. With 2 processes the pipe is full after sending (256 + 469) * 2 == 1450 int objects. Joining this feeder thread waits until all of the data is sent, however long that takes. This appears to be working correctly as designed.

----------
nosy: +eryksun

_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue29797>
_______________________________________


More information about the Python-bugs-list mailing list