Commit 1d7485e9 authored by Yann Ylavic's avatar Yann Ylavic
Browse files

event: follow up to r1762718.

On graceful shutdown/restart, kill kept-alive connections before poll()ing
again, avoiding to wait for their "normal" timers (before being woken up)
when they remain the last handled connections.



git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@1774538 13f79535-47bb-0310-9956-ffa450edef68
parent 6c5cdb89
Loading
Loading
Loading
Loading
+8 −4
Original line number Diff line number Diff line
@@ -1967,12 +1967,16 @@ static void * APR_THREAD_FUNC listener_thread(apr_thread_t * thd, void *dummy)
        rc = apr_pollset_poll(event_pollset, timeout_interval, &num, &out_pfd);
        if (rc != APR_SUCCESS) {
            if (APR_STATUS_IS_EINTR(rc)) {
                /* Woken up, either update timeouts or shutdown,
                 * both logics are above.
                /* Woken up, if we are exiting we must fall through to kill
                 * kept-alive connections, otherwise we only need to update
                 * timeouts (logic is above, so restart the loop).
                 */
                if (!listener_may_exit) {
                    continue;
                }
            if (!APR_STATUS_IS_TIMEUP(rc)) {
                timeout_time = 0;
            }
            else if (!APR_STATUS_IS_TIMEUP(rc)) {
                ap_log_error(APLOG_MARK, APLOG_CRIT, rc, ap_server_conf,
                             APLOGNO(03267)
                             "apr_pollset_poll failed.  Attempting to "