]> git.pld-linux.org Git - packages/apache-mod_python.git/blobdiff - import.patch
- apache was dying during reload without import.patch
[packages/apache-mod_python.git] / import.patch
diff --git a/import.patch b/import.patch
new file mode 100644 (file)
index 0000000..defaa88
--- /dev/null
@@ -0,0 +1,36 @@
+commit 5bb5d6d0113f6bbd72966a5c1f3e6d40c2e9c8fd
+Author: Grisha Trubetskoy <grisha@modpython.org>
+Date:   Tue Dec 1 22:07:50 2015 -0500
+
+    Do not import site.py for the main interpreter. Fixes #46.
+
+diff --git a/src/mod_python.c b/src/mod_python.c
+index 8c33c04..7e0ef1e 100644
+--- a/src/mod_python.c
++++ b/src/mod_python.c
+@@ -775,8 +775,15 @@ static int python_init(apr_pool_t *p, apr_pool_t *ptemp,
+         /* disable user site directories */
+         Py_NoUserSiteDirectory = 1;
+-        /* initialze the interpreter */
++        /* Initialze the main interpreter. We do not want site.py to
++         * be imported because as of Python 2.7.9 it would cause a
++         * circular dependency related to _locale which breaks
++         * graceful restart so we set Py_NoSiteFlag to 1 just for this
++         * one time. (https://github.com/grisha/mod_python/issues/46)
++         */
++        Py_NoSiteFlag = 1;
+         Py_Initialize();
++        Py_NoSiteFlag = 0;
+ #ifdef WITH_THREAD
+         /* create and acquire the interpreter lock */
+@@ -2649,7 +2656,7 @@ static void PythonChildInitHandler(apr_pool_t *p, server_rec *s)
+      * problems as well. Thus disable cleanup of Python when
+      * child processes are being shutdown. (MODPYTHON-109)
+      *
+-    apr_pool_cleanup_register(p, NULL, python_finalize, apr_pool_cleanup_null);
++     * apr_pool_cleanup_register(p, NULL, python_finalize, apr_pool_cleanup_null);
+      */
+     /*
This page took 0.025971 seconds and 4 git commands to generate.