1
0
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:
Xin LI 2010-07-15 22:29:46 +00:00
parent 0bb451b0af
commit 738260c533
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=257825
2 changed files with 30 additions and 0 deletions

View File

@ -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}/ \

View 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;