Hacker News new | ask | show | jobs
by medoc 1462 days ago
Last time I looked, posix_spawn() just called fork/exec
2 comments

That's an implementation detail at this point. The idea is to have a single syscall that takes all the information needed to spawn the process, and does so atomically, without the need to spread it across several calls. On Win32, that's CreateProcess(). On POSIX, the equivalent is posix_spawn().
In glibc it uses vfork() in some cases.

In Solaris/Illumos it uses vfork() or vforkx().

In principle posix_spawn() can be a system call.

On macOS it is a system call.