On Wed, 14 May 2025 00:32:08 GMT, David Holmes <dhol...@openjdk.org> wrote:

>> Hmm, glibc keeps it very vague in the vfork() manpage, stating that "On some 
>> implementations, vfork() is equivalent to fork()." AIX manpage says just 
>> "The vfork subroutine is supported as a compatibility interface for older 
>> Berkeley Software Distribution (BSD) system programs" which sounds to me its 
>> just an alias for fork(). MacOS has no vfork anymore.
>> 
>> So maybe Solaris was the last platform with a true vfork.
>
> @tstuefe the helper was needed in part to enable a chdir between fork and 
> exec - see this comment: 
> https://bugs.openjdk.org/browse/JDK-5049299?focusedId=12148272&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-12148272

@dholmes-ora My memory was failing me again. Looks like I had found all of this 
out already, and tested real scenarios where the child process after vfork 
accidentally damages the parent process: 
https://mail.openjdk.org/pipermail/core-libs-dev/2018-September/055333.html . 

Back then I also proposed to use the jspawnhelper to isolate this problem, but 
we went with David Loyd's proposal of adding posix_spawn, and later we switched 
over to posix_spawn by default. The only remaining question is what to do with 
the still unsafe vfork mode. I will send a mail to core-libs and feel out the 
room.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24149#discussion_r2091589002

Reply via email to