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 aeros
Recipients aeros, asvetlov, vstinner, yselivanov
Date 2019-10-26.16:52:02
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1572108722.41.0.819456584497.issue38591@roundup.psfhosted.org>
In-reply-to
Content
> > If asyncio is only run from the main thread, FastChildWatcher is safe, fast and has low memory footprint, no?

> Unfortunately, no. FastChildWatcher is safe if you can guarantee that no code executed in asyncio main thread AND thread pools spawn subprocesses

Am I misunderstanding something here or is this supposed to be "FastChildWatcher is safe if you can guarantee that no code executed *outside of* the asyncio main thread AND ..."? Alternatively, "FastChildWatcher is safe if you can guarantee that code *only* executed in the asyncio main thread". Both of the above have the same functional meaning. 

I think it was a typo, but I just wanted to make sure because the distinction from the original makes a functional difference in this case. 

Also, regarding the second part "thread pools spawn subprocesses", is that to say that subprocesses can only spawn within the thread pools? As in, FastChildWatcher becomes unsafe if subprocesses are spawned from anywhere else?

These answers may be fairly obvious to someone familiar working within the internals of FastChildWatcher, but it may not be overly clear to someone such as myself who has mostly just read through the documentation and looked over the implementation briefly. I'm only familiar with the internals of ThreadedChildWatcher.
History
Date User Action Args
2019-10-26 16:52:02aerossetrecipients: + aeros, vstinner, asvetlov, yselivanov
2019-10-26 16:52:02aerossetmessageid: <1572108722.41.0.819456584497.issue38591@roundup.psfhosted.org>
2019-10-26 16:52:02aeroslinkissue38591 messages
2019-10-26 16:52:02aeroscreate