summaryrefslogtreecommitdiff
path: root/Python/pystate.c
diff options
context:
space:
mode:
authorAntoine Pitrou <pitrou@free.fr>2017-05-27 17:50:54 +0200
committerGitHub <noreply@github.com>2017-05-27 17:50:54 +0200
commit346cbd351ee0dd3ab9cb9f0e4cb625556707877e (patch)
tree8590c5fc85acf57750ecb8d07a407a3dbe233f85 /Python/pystate.c
parentf931fd1c2ad969db72460d3ab41e3d1a4a62c371 (diff)
downloadcpython-git-346cbd351ee0dd3ab9cb9f0e4cb625556707877e.tar.gz
bpo-16500: Allow registering at-fork handlers (#1715)
* bpo-16500: Allow registering at-fork handlers * Address Serhiy's comments * Add doc for new C API * Add doc for new Python-facing function * Add NEWS entry + doc nit
Diffstat (limited to 'Python/pystate.c')
-rw-r--r--Python/pystate.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/Python/pystate.c b/Python/pystate.c
index 0a4e63b29d..064204da14 100644
--- a/Python/pystate.c
+++ b/Python/pystate.c
@@ -118,6 +118,11 @@ PyInterpreterState_New(void)
interp->dlopenflags = RTLD_LAZY;
#endif
#endif
+#ifdef HAVE_FORK
+ interp->before_forkers = NULL;
+ interp->after_forkers_parent = NULL;
+ interp->after_forkers_child = NULL;
+#endif
HEAD_LOCK();
interp->next = interp_head;
@@ -159,6 +164,11 @@ PyInterpreterState_Clear(PyInterpreterState *interp)
Py_CLEAR(interp->builtins_copy);
Py_CLEAR(interp->importlib);
Py_CLEAR(interp->import_func);
+#ifdef HAVE_FORK
+ Py_CLEAR(interp->before_forkers);
+ Py_CLEAR(interp->after_forkers_parent);
+ Py_CLEAR(interp->after_forkers_child);
+#endif
}