Spawn a new process and block the parent
#include <process.h> pid_t vfork( void );
libc
Use the -l c option to qcc to link against this library. This library is usually included automatically.
This function spawns a new process and blocks the parent until the child process calls execve() or exits (by calling _exit() or abnormally).
A value of zero to the child process, and (later) the child's process ID in the parent. If an error occurs, no child process is created, and the function returns -1 and sets errno.
Safety: | |
---|---|
Cancellation point | No |
Interrupt handler | No |
Signal handler | No |
Thread | No |
To avoid a possible deadlock situation, processes that are children in the middle of a vfork() are never sent SIGTTOU or SIGTTIN signals; rather, output or ioctls are allowed and input attempts result in an EOF indication.
execve(), _exit(), fork(), ioctl(), sigaction(), wait()
Processes and Threads chapter of Getting Started with QNX Neutrino