https://issues.apache.org/bugzilla/show_bug.cgi?id=42829
--- Comment #63 from [email protected] 2011-12-06 18:11:55 UTC --- Everytime I do a graceful-stop, I see the following in the error log: [Fri Dec 02 19:02:22 2011] [notice] caught SIGWINCH, shutting down gracefully [Fri Dec 02 19:02:22 2011] [error] (9)Bad file descriptor: apr_socket_accept: (client socket) I'm using apache 2.2.21; prefork MPM on linux. After reading through this thread (especially Joe's comment - https://issues.apache.org/bugzilla/show_bug.cgi?id=42829#c16). I figured out that it is a race condition where SIGUSR1 is called after the child has done "else if (die_now) {" and before the child has done "status = lr->accept_func(&csd, lr, ptrans);". The following patch fixed the problem for me: @@ -638,6 +638,14 @@ * ### than POLLIN */ lr = pdesc[last_poll_idx++].client_data; + + if (die_now) { + /* In graceful stop/restart; drop the mutex + * and terminate the child. */ + SAFE_ACCEPT(accept_mutex_off()); + clean_child_exit(0); + } + goto got_fd; } } -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
