Author vstinner
Recipients davin, paul.moore, pitrou, steve.dower, tim.golden, vstinner, zach.ware
Date 2018-06-26.23:53:31
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1530057211.98.0.56676864532.issue33966@psf.upfronthosting.co.za>
In-reply-to
Content
* Pool._repopulate_pool() creates processes with args=(self._inqueue, ...)
* Pool._inqueue is a multiprocessing.queues.SimpleQueue
* Process.__init__() of multiprocessing.popen_spawn_win32 calls reduction.dump(process_obj, to_child) which indirectly contains the SimpleQueue
* A SimpleQueue object contains: self._reader, self._writer = connection.Pipe(duplex=False)
* dump() indirectly calls reduce_connection() (ex: for SimpleQueue._reader) of multiprocessing.connection
* reduce_connection() duplicates the pipe handle

It's unclear to me who is supposed to close the duplicated pipe handles? reduce_connection() creates a "ds = resource_sharer.DupSocket(s)" object, but this object doesn't seem to call CloseHandle()?
History
Date User Action Args
2018-06-26 23:53:32vstinnersetrecipients: + vstinner, paul.moore, pitrou, tim.golden, zach.ware, steve.dower, davin
2018-06-26 23:53:31vstinnersetmessageid: <1530057211.98.0.56676864532.issue33966@psf.upfronthosting.co.za>
2018-06-26 23:53:31vstinnerlinkissue33966 messages
2018-06-26 23:53:31vstinnercreate