From 4027875db1d25dba48712327afa0073c014f1930 Mon Sep 17 00:00:00 2001 From: Danil Osherov Date: Thu, 24 Dec 2015 16:54:19 +0300 Subject: [PATCH] python-lxc: Call PyOS_AfterFork after attaching to a container As lxc_attach() calls fork() PyOS_AfterFork should be called in the new process if the Python interpreter will continue to be used. Signed-off-by: Danil Osherov --- src/python-lxc/lxc.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/python-lxc/lxc.c b/src/python-lxc/lxc.c index b4698ad70..151d8faa1 100644 --- a/src/python-lxc/lxc.c +++ b/src/python-lxc/lxc.c @@ -117,6 +117,12 @@ struct lxc_attach_python_payload { static int lxc_attach_python_exec(void* _payload) { + /* This function is the first one to be called after attaching to a + * container. As lxc_attach() calls fork() PyOS_AfterFork should be called + * in the new process if the Python interpreter will continue to be used. + */ + PyOS_AfterFork(); + struct lxc_attach_python_payload *payload = (struct lxc_attach_python_payload *)_payload; PyObject *result = PyObject_CallFunctionObjArgs(payload->fn, -- 2.47.2