[packages/apache-mod_python] - apache was dying during reload without import.patch

bszx bszx at pld-linux.org
Fri Nov 11 21:47:08 CET 2016


commit 7263950d393896ae3ab2ee2b9df30ffdd687e860
Author: Bartek Szady <bszx at bszx.eu>
Date:   Fri Nov 11 21:41:42 2016 +0100

    - apache was dying during reload without import.patch

 apache-mod_python.spec |  4 +++-
 import.patch           | 36 ++++++++++++++++++++++++++++++++++++
 2 files changed, 39 insertions(+), 1 deletion(-)
---
diff --git a/apache-mod_python.spec b/apache-mod_python.spec
index 4aa391d..d5ee607 100644
--- a/apache-mod_python.spec
+++ b/apache-mod_python.spec
@@ -20,7 +20,7 @@ Summary(pl.UTF-8):	Wbudowany interpreter języka Python dla serwera WWW Apache
 Summary(sv.UTF-8):	En inbyggd Python-interpretator för webbservern Apache
 Name:		apache-mod_%{mod_name}
 Version:	3.5.0
-Release:	19
+Release:	20
 License:	Apache
 Group:		Networking/Daemons/HTTP
 Source0:	http://dist.modpython.org/dist/mod_%{mod_name}-%{version}.tgz
@@ -31,6 +31,7 @@ Patch0:		%{name}-httpd-not-needed.patch
 Patch1:		no-git.patch
 Patch2:		set-request-response-status.patch
 Patch3:		install.patch
+Patch4:		import.patch
 URL:		http://www.modpython.org/
 BuildRequires:	apache-devel >= 2.0.52-7
 BuildRequires:	apr-devel >= 1:1.0.0
@@ -239,6 +240,7 @@ prestandan jämfört med den traditionella CGI-metoden.
 %patch1 -p1
 %patch2 -p1
 %patch3 -p1
+%patch4 -p1
 
 %build
 %{__aclocal}
diff --git a/import.patch b/import.patch
new file mode 100644
index 0000000..defaa88
--- /dev/null
+++ b/import.patch
@@ -0,0 +1,36 @@
+commit 5bb5d6d0113f6bbd72966a5c1f3e6d40c2e9c8fd
+Author: Grisha Trubetskoy <grisha at 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);
+      */
+ 
+     /*
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/apache-mod_python.git/commitdiff/7263950d393896ae3ab2ee2b9df30ffdd687e860



More information about the pld-cvs-commit mailing list