diff options
author | Gregory P. Smith <greg@mad-scientist.com> | 2008-07-14 06:06:48 +0000 |
---|---|---|
committer | Gregory P. Smith <greg@mad-scientist.com> | 2008-07-14 06:06:48 +0000 |
commit | fb7a50fbb9d4728909382ba7f9eb65f2c0ab2d79 (patch) | |
tree | 866d7f75ae2726e6ed468326858db91b08c02045 | |
parent | 4ec0c27eea99ebeb20042d2cc61c5dfa29e4b043 (diff) | |
download | cpython-git-fb7a50fbb9d4728909382ba7f9eb65f2c0ab2d79.tar.gz |
Fix posix.fork1() / os.fork1() to only call PyOS_AfterFork() in the child
process rather than both parent and child.
Does anyone actually use fork1()? It appears to be a Solaris thing
but if Python is built with pthreads on Solaris, fork1() and fork()
should be the same.
-rw-r--r-- | Modules/posixmodule.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c index 8f32fd4349..d8c81b6a58 100644 --- a/Modules/posixmodule.c +++ b/Modules/posixmodule.c @@ -3597,7 +3597,8 @@ posix_fork1(PyObject *self, PyObject *noargs) pid_t pid = fork1(); if (pid == -1) return posix_error(); - PyOS_AfterFork(); + if (pid == 0) + PyOS_AfterFork(); return PyInt_FromLong(pid); } #endif |