On Wed, Sep 12, 2018 at 7:33 AM, David Lloyd <david.ll...@redhat.com> wrote: >> The child process is created using vfork(2) instead of fork(2) when [...] >> file_actions is NULL and the spawn-flags element of the attributes object >> pointed to by attrp does not contain POSIX_SPAWN_SETSIGMASK, >> POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER, >> POSIX_SPAWN_SETPGROUP, or POSIX_SPAWN_RESETIDS.
Yes, the posix_spawn man page says that, but https://github.com/bminor/glibc/blob/master/sysdeps/unix/sysv/linux/spawni.c#L36 says: /* The Linux implementation of posix_spawn{p} uses the clone syscall directly with CLONE_VM and CLONE_VFORK flags and an allocated stack. The new stack and start function solves most the vfork limitation (possible parent clobber due stack spilling).