httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dean Gaudet <dgau...@arctic.org>
Subject Re: resources not getting freed
Date Fri, 07 Mar 1997 00:50:32 GMT
Yeah but a clear_pool() is performed on the parent of the r->pool next
time through at the top of the child_main loop. 

Dean

On Thu, 6 Mar 1997, Randy Terbush wrote:

> 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