>From the man page: 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.
We modify data and we call functions other than _exit/exec. Signed-off-by: Peter Hutterer <[email protected]> --- src/process.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/process.cpp b/src/process.cpp index debd92e..7df2b84 100644 --- a/src/process.cpp +++ b/src/process.cpp @@ -52,7 +52,7 @@ void xorg::testing::Process::Start(const std::string &program, const std::vector if (d_->pid != -1) throw std::runtime_error("Attempting to start an already started process"); - d_->pid = vfork(); + d_->pid = fork(); if (d_->pid == -1) { throw std::runtime_error("Failed to fork child process"); -- 1.7.10.4 _______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
