mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-28 01:06:17 +00:00
Apply a vendor fix to mod_wsgi ticket 197.
With newer Python version, mod_wsgi gives error messages like this: [error] Exception KeyError: KeyError(139934492751712,) in <module 'threading' from '/usr/local/lib/python2.6/threading.pyc'> ignored This is a backport for svn revision 1605. PR: ports/148651 Approved by: maintainer
This commit is contained in:
parent
0bb451b0af
commit
738260c533
Notes:
svn2git
2021-03-31 03:12:20 +00:00
svn path=/head/; revision=257825
@ -7,6 +7,7 @@
|
||||
|
||||
PORTNAME= mod_wsgi
|
||||
PORTVERSION= 3.2
|
||||
PORTREVISION= 1
|
||||
CATEGORIES= www python
|
||||
MASTER_SITES= ${MASTER_SITE_GOOGLE_CODE} \
|
||||
http://apt.douglasthrift.net/files/${PORTNAME}/ \
|
||||
|
29
www/mod_wsgi3/files/patch-mod_wsgi.c
Normal file
29
www/mod_wsgi3/files/patch-mod_wsgi.c
Normal file
@ -0,0 +1,29 @@
|
||||
--- ./mod_wsgi.c.orig 2010-03-09 01:48:50.000000000 -0800
|
||||
+++ ./mod_wsgi.c 2010-07-15 12:31:01.189153878 -0700
|
||||
@@ -5648,6 +5648,26 @@
|
||||
module = PyImport_ImportModule("atexit");
|
||||
Py_XDECREF(module);
|
||||
|
||||
+ /*
|
||||
+ * In Python 2.6.5 and Python 3.1.2 the shutdown of
|
||||
+ * threading was moved back into Py_Finalize() for the main
|
||||
+ * Python interpreter. Because we shutting down threading
|
||||
+ * ourselves, the second call results in errors being logged
|
||||
+ * when Py_Finalize() is called and the shutdown function
|
||||
+ * called a second time. The errors don't indicate any real
|
||||
+ * problem and the threading module ignores them anyway.
|
||||
+ * Whether we are using Python with this changed behaviour
|
||||
+ * can only be checked by looking at run time version.
|
||||
+ * Rather than try and add a dynamic check, create a fake
|
||||
+ * 'dummy_threading' module as the presence of that shuts up
|
||||
+ * the messages. It doesn't matter that the rest of the
|
||||
+ * shutdown function still runs as everything is already
|
||||
+ * stopped so doesn't do anything.
|
||||
+ */
|
||||
+
|
||||
+ if (!PyImport_AddModule("dummy_threading"))
|
||||
+ PyErr_Clear();
|
||||
+
|
||||
Py_Finalize();
|
||||
|
||||
wsgi_python_initialized = 0;
|
Loading…
Reference in New Issue
Block a user