diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2012-08-08 11:33:17 +1000 |
---|---|---|
committer | Chase Douglas <chase.douglas@canonical.com> | 2012-08-08 09:10:53 -0700 |
commit | 9d2dd4e86e4903eb1c20f6e936c7ca2df1cdb90f (patch) | |
tree | 1717123f19e47b8ebc58c0a96d11e0be832ea47f | |
parent | 714341ae8136ac958ec555694a23dadf80b1c852 (diff) |
process: use fork(), not vfork()
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 <peter.hutterer@who-t.net>
Reviewed-by: Chase Douglas <chase.douglas@canonical.com>
Signed-off-by: Chase Douglas <chase.douglas@canonical.com>
-rw-r--r-- | src/process.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
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"); |