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.
diff --git a/Modules/posixmodule.c b/Modules/posixmodule.c
index 8f32fd4..d8c81b6 100644
--- a/Modules/posixmodule.c
+++ b/Modules/posixmodule.c
@@ -3597,7 +3597,8 @@
pid_t pid = fork1();
if (pid == -1)
return posix_error();
- PyOS_AfterFork();
+ if (pid == 0)
+ PyOS_AfterFork();
return PyInt_FromLong(pid);
}
#endif