diff --git a/mod_wsgi-3.4-connsbh.patch b/mod_wsgi-3.4-connsbh.patch new file mode 100644 index 0000000..a7c5925 --- /dev/null +++ b/mod_wsgi-3.4-connsbh.patch @@ -0,0 +1,16 @@ +--- mod_wsgi-3.4/mod_wsgi.c.connsbh ++++ mod_wsgi-3.4/mod_wsgi.c +@@ -10600,7 +10600,13 @@ static void wsgi_process_socket(apr_pool + * will add their own input/output filters to the chain. + */ + ++#if AP_MODULE_MAGIC_AT_LEAST(20110619,0) ++ /* For 2.4 a NULL sbh pointer should work. */ ++ sbh = NULL; ++#else ++ /* For 2.2 a dummy sbh pointer is needed. */ + ap_create_sb_handle(&sbh, p, -1, 0); ++#endif + + c = (conn_rec *)apr_pcalloc(p, sizeof(conn_rec)); + diff --git a/mod_wsgi-3.4-procexit.patch b/mod_wsgi-3.4-procexit.patch new file mode 100644 index 0000000..6737f2c --- /dev/null +++ b/mod_wsgi-3.4-procexit.patch @@ -0,0 +1,23 @@ +--- mod_wsgi-3.3/mod_wsgi.c.procexit ++++ mod_wsgi-3.3/mod_wsgi.c +@@ -9845,6 +9845,20 @@ static void wsgi_manage_process(int reas + wsgi_server, "mod_wsgi (pid=%d): " + "Process '%s' has died, restarting.", + daemon->process.pid, daemon->group->name); ++ if (WIFEXITED(status)) { ++ ap_log_error(APLOG_MARK, WSGI_LOG_DEBUG(0), ++ wsgi_server, "mod_wsgi (pid=%d): " ++ "Process '%s' terminated normally, exit code %d", ++ daemon->process.pid, daemon->group->name, ++ WEXITSTATUS(status)); ++ } ++ else if (WIFSIGNALED(status)) { ++ ap_log_error(APLOG_MARK, WSGI_LOG_DEBUG(0), ++ wsgi_server, "mod_wsgi (pid=%d): " ++ "Process '%s' terminated by signal %d", ++ daemon->process.pid, daemon->group->name, ++ WTERMSIG(status)); ++ } + + wsgi_start_process(wsgi_parent_pool, daemon); + } diff --git a/mod_wsgi.spec b/mod_wsgi.spec index 203753e..e58c345 100644 --- a/mod_wsgi.spec +++ b/mod_wsgi.spec @@ -6,7 +6,7 @@ Name: mod_wsgi Version: 3.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: A WSGI interface for Python web applications in Apache Group: System Environment/Libraries @@ -14,6 +14,8 @@ License: ASL 2.0 URL: http://modwsgi.org Source0: http://modwsgi.googlecode.com/files/%{name}-%{version}.tar.gz Source1: wsgi.conf +Patch0: mod_wsgi-3.4-connsbh.patch +Patch1: mod_wsgi-3.4-procexit.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: httpd-devel @@ -30,6 +32,8 @@ existing WSGI adapters for mod_python or CGI. %prep %setup -q +%patch0 -p1 -b .connsbh +%patch1 -p1 -b .procexit %build export LDFLAGS="$RPM_LD_FLAGS -L%{_libdir}" @@ -61,6 +65,10 @@ rm -rf $RPM_BUILD_ROOT %changelog +* Wed Oct 17 2012 Joe Orton - 3.4-3 +- use a NULL c->sbh pointer with httpd 2.4 (possible fix for #867276) +- add logging for unexpected daemon process loss + * Wed Oct 17 2012 Matthias Runge - 3.4-2 - also use RPM_LD_FLAGS for build bz. #867137