On Windows fcgid crashes apache when apache do a graceful restart (httpd -k restart). Here is a patch that should fix that. This patch in inspired from Tom Dovovan.
Index: modules/fcgid/fcgid_pm_main.c =================================================================== --- modules/fcgid/fcgid_pm_main.c (revision 1037552) +++ modules/fcgid/fcgid_pm_main.c (working copy) @@ -375,7 +375,9 @@ proc->diewhy = FCGID_DIE_SHUTDOWN; proc_print_exit_info(proc, exitcode, exitwhy, main_server); - apr_pool_destroy(proc->proc_pool); + #ifndef Win32 + apr_pool_destroy(proc->proc_pool); + #endif proc->proc_pool = NULL; return 1; } Index: modules/fcgid/fcgid_pm_win.c =================================================================== --- modules/fcgid/fcgid_pm_win.c (revision 1037552) +++ modules/fcgid/fcgid_pm_win.c (working copy) @@ -123,7 +123,9 @@ "mod_fcgid: can't create wake up thread"); exit(1); } - + apr_pool_cleanup_register(pconf, main_server, + procmgr_stop_procmgr, apr_pool_cleanup_null); + return APR_SUCCESS; } @@ -249,8 +251,6 @@ apr_status_t procmgr_child_init(server_rec * main_server, apr_pool_t * pchild) { - apr_pool_cleanup_register(pchild, main_server, - procmgr_stop_procmgr, apr_pool_cleanup_null); return APR_SUCCESS; }
Download this patch
I got a lot of feedback that this patch is doing great. Not more crashes during restart. A guy also use restart command a couple of time in a few seconds without crashing. I don’t restart my web server that often in such a short time, but good to know that it works.
Looking forward to 2.3.7 now that this and a couple other worthy patches have been folded in. One of the dev’s keeps threatening to release it, wish he would soon.