mod_fcgid is polluting my error log on windows

Well I really like mod_fcgid with PHP on my Apaches on Windows. But since every time a PHP process get it’s signal to die, mod_fcgid creates on windows an entry in the error log cause the graceful stop always fails.

There in a patch for that! I made a bug report (54597), but it didn’t go in the code yet.  If you wanna patch it yourself, here it is.

--- modules/fcgid/fcgid_pm_main.c	(revision 1448988)
+++ modules/fcgid/fcgid_pm_main.c	(working copy)
@@ -333,10 +333,17 @@ 
                                   current_node->proc_pool);
         }
         else {
+#ifndef WIN32
             ap_log_error(APLOG_MARK, APLOG_WARNING, 0, main_server,
                          "mod_fcgid: process %" APR_PID_T_FMT
                          " graceful kill fail, sending SIGKILL",
                          current_node->proc_id.pid);
+#else
+            ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, main_server,
+                         "mod_fcgid: process %" APR_PID_T_FMT
+                         " graceful kill fail, sending SIGKILL",
+                         current_node->proc_id.pid);
+#endif
             proc_kill_force(current_node, main_server);
         }
     }

3 thoughts on “mod_fcgid is polluting my error log on windows

  1. Yeah, this really needs to be done upstream, maybe I’ll see if I have access to the repo (I am a PMC afterall!) and just do this one myself.

    OR better yet, maybe you should start squeaking real loudly about it on the dev list, I’ll +1 your request which will at least get Jeff looking at it.

  2. Looking again, you really only need to do the one line instead of the entire function, less code is better ;-)

    +#ifndef WIN32
    ap_log_error(APLOG_MARK, APLOG_WARNING, 0, main_server,
    +#else
    + ap_log_error(APLOG_MARK, APLOG_DEBUG, 0, main_server,
    +#endif

    But not knowing why this happens on Windows, is this really standard operating procedure or is there actually some underlying problem causing this to happen?

Leave a Reply

Your email address will not be published. Required fields are marked *