Author: Amaury Forgeot d'Arc <[email protected]>
Branch: py3k
Changeset: r58987:5ec3a2cb4ebd
Date: 2012-11-18 23:32 +0100
http://bitbucket.org/pypy/pypy/changeset/5ec3a2cb4ebd/
Log: _posixsubprocess: handle the (usual) case when preexec_fn is None,
and correcly call all pre- and post-fork hooks.
diff --git a/pypy/module/_posixsubprocess/interp_subprocess.py
b/pypy/module/_posixsubprocess/interp_subprocess.py
--- a/pypy/module/_posixsubprocess/interp_subprocess.py
+++ b/pypy/module/_posixsubprocess/interp_subprocess.py
@@ -131,14 +131,17 @@
for i in range(len(fds_to_keep)):
l_fds_to_keep[i] = fds_to_keep[i]
- # if not space.is_none(w_preexec_fn):
- # _PyImport_AcquireLock()
- preexec.space = space
- preexec.w_preexec_fn = w_preexec_fn
+ if not space.is_none(w_preexec_fn):
+ preexec.space = space
+ preexec.w_preexec_fn = w_preexec_fn
+ else:
+ preexec.w_preexec_fn = None
if not space.is_none(w_cwd):
cwd = fsencode_w(space, w_cwd)
l_cwd = rffi.str2charp(cwd)
+
+ run_fork_hooks('before', space)
try:
pid = os.fork()
@@ -169,8 +172,6 @@
# parent process
finally:
- # if not space.is_none(w_preexec_fn):
- # _PyImport_ReleaseLock()
run_fork_hooks('parent', space)
preexec.w_preexec_fn = None
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit