Taming the OOM killer
Posted Feb 5, 2009 20:00 UTC (Thu) by quotemstr
In reply to: Taming the OOM killer
Parent article: Taming the OOM killer
(From SUSv2 / POSIX draft.)
The vfork() function has the same effect as fork(2), except that the behavior is undefined if the process created by vfork() either modifies any data other than a variable of type pid_t used to store the return value from vfork(), or returns from the function in which vfork() was called, or calls any other function before successfully calling _exit(2) or one of the exec(3) family of functions.
On the other hand
pid_t child = clone(run_child_func, run_child_stack, CLONE_VM, run_child_data)
would do the trick. The child would share memory with the parent, making overcommit unnecessary, but would have a different file descriptor table, allowing pipelines to be set up easily.
to post comments)