httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Randy Terbush <ra...@zyzzyva.com>
Subject resources not getting freed
Date Fri, 07 Mar 1997 00:02:54 GMT
In http_main.c:1775

In the child_main() loop:

Why do we break if the connection is !current_conn->keepalive?

destroy_pool() does not seem to get called in this case.


        /*
         * Read and process each request found on our connection
         * until no requests are left or we decide to close.
         */
 
        for (;;) {
            r = read_request(current_conn);
            (void)update_child_status(child_num, SERVER_BUSY_WRITE, r);
 
            if (r) process_request(r); /* else premature EOF --- ignore */
#if defined(STATUS) 
            if (r) increment_counts(child_num,r,1);
#endif
            if (!r || !current_conn->keepalive)
                break;
 
            destroy_pool(r->pool);
            (void)update_child_status(child_num, SERVER_BUSY_KEEPALIVE,
                                      (request_rec*)NULL);

            sync_scoreboard_image();
            if (scoreboard_image->global.exit_generation >= generation) {
                bclose(conn_io);
                bclose(conn_io);
                exit(0);
            }
        }



Mime
View raw message