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); } }
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.
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?
Thanks for the smaller version.
And it has been applied!