[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