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 socketpair
Recipients gregory.p.smith, izbyshev, socketpair
Date 2022-04-08.10:47:24
SpamBayes Score -1.0
Marked as misclassified Yes
Message-id <1649414844.42.0.888504718735.issue47245@roundup.psfhosted.org>
In-reply-to
Content
So, finally: 

1. Regarding vfork() and stack - everything is nice. No bugs because libc has nasty hacks for stack restoration.

2. Having the ability to turn off vfork using environment variables is NICE. At least, one can easily compare the performance.

3. We have to fix error-path in order not to change heap state (contents and allocations), possibly do not touch locks. During vfork() child execution - the only parent THREAD (not the process) is blocked. For example, it's not allowed to touch GIL. Child process may die unexpectedly and leave GIL locked. Is it possible to rewrite children path for vfork() case without any Py* calls ? As an idea, we can prepare all low-level things (all the pointers to strings and plain values) before vfork(), so child code will use only that data.
History
Date User Action Args
2022-04-08 10:47:24socketpairsetrecipients: + socketpair, gregory.p.smith, izbyshev
2022-04-08 10:47:24socketpairsetmessageid: <1649414844.42.0.888504718735.issue47245@roundup.psfhosted.org>
2022-04-08 10:47:24socketpairlinkissue47245 messages
2022-04-08 10:47:24socketpaircreate