DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12033>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=12033 Graceful restart immidiately result in [warn] long lost child came home! [EMAIL PROTECTED] changed: What |Removed |Added ---------------------------------------------------------------------------- Version|2.0.45 |2.0-HEAD ------- Additional Comments From [EMAIL PROTECTED] 2003-12-13 21:30 ------- still present in 2.0-HEAD, 2.1-HEAD, etc. MPMs handle other children differently for graceful restart vs. hard restart, resulting in these confusing log messages. ap_reclaim_child_processes() is called for apachectl stop and apachectl restart, but not apachectl graceful. apr_proc_other_child_refresh_all(APR_OC_REASON_RESTART) is called from ap_reclaim_child_processes() but nowhere else. That is the code that kills the piped loggers from the server generation that is currently shutting down. This cleaner way of cleaning them up isn't done for graceful restart. For graceful restart, the loggers get whacked by the plog pool going away. There are a couple of ways to fix this. One way is for the MPM to call apr_proc_other_child_refresh_all() for both types of restarts. I believe that another way is to change piped log maintenance function to terminate the piped logger when it gets the UNREGISTER call. That is nice because whenever the pool goes POOF the piped logger will terminate cleanly, irrespective of what the MPM does (not tested :) ). This assumes that during pool cleanup, the UNREGISTER call will be made before the apr_proc_t-based process termination occurs. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
