Date: Thu, 15 Jul 2010 19:37:45 GMT From: Xin LI <delphij@FreeBSD.org> To: FreeBSD-gnats-submit@FreeBSD.org Cc: douglas@douglasthrift.net Subject: ports/148651: [PATCH] Apply vendor revision 1605 for www/mod_wsgi3 Message-ID: <201007151937.o6FJbj0G022113@freefall.freebsd.org> Resent-Message-ID: <201007151940.o6FJe1jB022182@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 148651 >Category: ports >Synopsis: [PATCH] Apply vendor revision 1605 for www/mod_wsgi3 >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: change-request >Submitter-Id: current-users >Arrival-Date: Thu Jul 15 19:40:01 UTC 2010 >Closed-Date: >Last-Modified: >Originator: Xin LI >Release: FreeBSD 8.1-PRERELEASE i386 >Organization: iXsystems, Inc >Environment: System: FreeBSD freefall.freebsd.org 8.1-PRERELEASE FreeBSD 8.1-PRERELEASE #44 r209978: Tue Jul 13 08:42:03 UTC 2010 simon@freefall.freebsd.org:/usr/src/sys/i386/compile/FREEFALL i386 >Description: 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 While it by itself harmless, it's very annoying. >How-To-Repeat: Install mod_wsgi3 with Python 2.6.5 (latest version in ports) >Fix: This is a backport for svn revision 1605. Vendor issue ticket #197 http://code.google.com/p/modwsgi/issues/detail?id=197 --- mod_wsgi3.diff begins here --- Index: Makefile =================================================================== RCS file: /home/ncvs/ports/www/mod_wsgi3/Makefile,v retrieving revision 1.16 diff -u -p -r1.16 Makefile --- Makefile 25 May 2010 20:43:04 -0000 1.16 +++ Makefile 15 Jul 2010 19:33:01 -0000 @@ -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}/ \ Index: files/patch-mod_wsgi.c =================================================================== RCS file: files/patch-mod_wsgi.c diff -N files/patch-mod_wsgi.c --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ files/patch-mod_wsgi.c 15 Jul 2010 19:32:53 -0000 @@ -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; --- mod_wsgi3.diff ends here --- >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201007151937.o6FJbj0G022113>