a71a57
a71a57
Log exit status in daemon manager; improves diagnosics.
a71a57
a71a57
http://code.google.com/p/modwsgi/source/detail?path=/mod_wsgi.c&name=mod_wsgi-3.X&r=b4f55d756fa816a7eae0f7edc13d5f2da3f3d5c1
a71a57
a71a57
--- mod_wsgi-3.3/mod_wsgi.c.procexit
a71a57
+++ mod_wsgi-3.3/mod_wsgi.c
a71a57
@@ -9845,6 +9845,20 @@ static void wsgi_manage_process(int reas
a71a57
                              wsgi_server, "mod_wsgi (pid=%d): "
a71a57
                              "Process '%s' has died, restarting.",
a71a57
                              daemon->process.pid, daemon->group->name);
a71a57
+                if (WIFEXITED(status)) {
a71a57
+                    ap_log_error(APLOG_MARK, WSGI_LOG_INFO(0),
a71a57
+                                 wsgi_server, "mod_wsgi (pid=%d): "
a71a57
+                                 "Process '%s' terminated normally, exit code %d", 
a71a57
+                                 daemon->process.pid, daemon->group->name,
a71a57
+                                 WEXITSTATUS(status));
a71a57
+                }
a71a57
+                else if (WIFSIGNALED(status)) {
a71a57
+                    ap_log_error(APLOG_MARK, WSGI_LOG_INFO(0),
a71a57
+                                 wsgi_server, "mod_wsgi (pid=%d): "
a71a57
+                                 "Process '%s' terminated by signal %d", 
a71a57
+                                 daemon->process.pid, daemon->group->name,
a71a57
+                                 WTERMSIG(status));
a71a57
+                }
a71a57
 
a71a57
                 wsgi_start_process(wsgi_parent_pool, daemon);
a71a57
             }