You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by sf...@apache.org on 2011/07/26 22:37:53 UTC

svn commit: r1151234 - in /httpd/httpd/trunk: CHANGES server/mpm/event/event.c server/mpm/prefork/prefork.c server/mpm/worker/worker.c

Author: sf
Date: Tue Jul 26 20:37:49 2011
New Revision: 1151234

URL: http://svn.apache.org/viewvc?rev=1151234&view=rev
Log:
Install signal handlers for crashes before detaching. Previously, there
was a time span where crashes would be neither visible on the console nor
logged in the error log.

Modified:
    httpd/httpd/trunk/CHANGES
    httpd/httpd/trunk/server/mpm/event/event.c
    httpd/httpd/trunk/server/mpm/prefork/prefork.c
    httpd/httpd/trunk/server/mpm/worker/worker.c

Modified: httpd/httpd/trunk/CHANGES
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/CHANGES?rev=1151234&r1=1151233&r2=1151234&view=diff
==============================================================================
--- httpd/httpd/trunk/CHANGES [utf-8] (original)
+++ httpd/httpd/trunk/CHANGES [utf-8] Tue Jul 26 20:37:49 2011
@@ -2,6 +2,9 @@
 
 Changes with Apache 2.3.14
 
+  *) prefork, worker, event: Make sure crashes are logged to the error log if
+     httpd has already detached from the console. [Stefan Fritsch]
+
   *) prefork, worker, event: Reduce period during startup/restart where a
      successive signal may be lost. PR 43696. [Arun Bhalla <arun shme net>]
 

Modified: httpd/httpd/trunk/server/mpm/event/event.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/event/event.c?rev=1151234&r1=1151233&r2=1151234&view=diff
==============================================================================
--- httpd/httpd/trunk/server/mpm/event/event.c (original)
+++ httpd/httpd/trunk/server/mpm/event/event.c Tue Jul 26 20:37:49 2011
@@ -2758,6 +2758,8 @@ static int event_pre_config(apr_pool_t *
         apr_pollset_destroy(event_pollset);
 
         if (!one_process && !foreground) {
+            /* before we detach, setup crash handlers to log to errorlog */
+            ap_fatal_signal_setup(ap_server_conf, pconf);
             rv = apr_proc_detach(no_detach ? APR_PROC_DETACH_FOREGROUND
                                  : APR_PROC_DETACH_DAEMONIZE);
             if (rv != APR_SUCCESS) {

Modified: httpd/httpd/trunk/server/mpm/prefork/prefork.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/prefork/prefork.c?rev=1151234&r1=1151233&r2=1151234&view=diff
==============================================================================
--- httpd/httpd/trunk/server/mpm/prefork/prefork.c (original)
+++ httpd/httpd/trunk/server/mpm/prefork/prefork.c Tue Jul 26 20:37:49 2011
@@ -1275,6 +1275,8 @@ static int prefork_pre_config(apr_pool_t
     ++retained->module_loads;
     if (retained->module_loads == 2) {
         if (!one_process && !foreground) {
+            /* before we detach, setup crash handlers to log to errorlog */
+            ap_fatal_signal_setup(ap_server_conf, pconf);
             rv = apr_proc_detach(no_detach ? APR_PROC_DETACH_FOREGROUND
                                            : APR_PROC_DETACH_DAEMONIZE);
             if (rv != APR_SUCCESS) {

Modified: httpd/httpd/trunk/server/mpm/worker/worker.c
URL: http://svn.apache.org/viewvc/httpd/httpd/trunk/server/mpm/worker/worker.c?rev=1151234&r1=1151233&r2=1151234&view=diff
==============================================================================
--- httpd/httpd/trunk/server/mpm/worker/worker.c (original)
+++ httpd/httpd/trunk/server/mpm/worker/worker.c Tue Jul 26 20:37:49 2011
@@ -1987,6 +1987,8 @@ static int worker_pre_config(apr_pool_t 
     ++retained->module_loads;
     if (retained->module_loads == 2) {
         if (!one_process && !foreground) {
+            /* before we detach, setup crash handlers to log to errorlog */
+            ap_fatal_signal_setup(ap_server_conf, pconf);
             rv = apr_proc_detach(no_detach ? APR_PROC_DETACH_FOREGROUND
                                            : APR_PROC_DETACH_DAEMONIZE);
             if (rv != APR_SUCCESS) {