From: haroon Date: Fri, 20 Jul 2001 15:16:17 +0000 (+0000) Subject: - per Guy's suggestion, added a while loop in sweep() to catch not just X-Git-Tag: v_2_9_9~220 X-Git-Url: http://www.privoxy.org/gitweb/contact.html?a=commitdiff_plain;h=ec8d97cb1d2c86c8ecff4e8e324edf9245bde568;p=privoxy.git - per Guy's suggestion, added a while loop in sweep() to catch not just the last inactive CSP but all other consecutive inactive CSPs after that as well --- diff --git a/loaders.c b/loaders.c index 4fb6e9fd..cadd1ff4 100644 --- a/loaders.c +++ b/loaders.c @@ -1,4 +1,4 @@ -const char loaders_rcs[] = "$Id: loaders.c,v 1.20 2001/07/17 13:07:01 oes Exp $"; +const char loaders_rcs[] = "$Id: loaders.c,v 1.21 2001/07/18 17:26:24 oes Exp $"; /********************************************************************* * * File : $Source: /cvsroot/ijbswa/current/loaders.c,v $ @@ -35,6 +35,9 @@ const char loaders_rcs[] = "$Id: loaders.c,v 1.20 2001/07/17 13:07:01 oes Exp $" * * Revisions : * $Log: loaders.c,v $ + * Revision 1.21 2001/07/18 17:26:24 oes + * Changed to conform to new pcrs interface + * * Revision 1.20 2001/07/17 13:07:01 oes * Fixed segv when last line in config files * lacked a terminating (\r)\n @@ -266,36 +269,43 @@ void sweep(void) } else + /* this client is not active, release its resources */ { - /* this client one is not active, release its resources */ - csp->next = ncsp->next; - - freez(ncsp->ip_addr_str); - freez(ncsp->my_ip_addr_str); - freez(ncsp->my_hostname); - -#ifdef TRUST_FILES - freez(ncsp->referrer); -#endif /* def TRUST_FILES */ - freez(ncsp->x_forwarded); - freez(ncsp->iob->buf); - - free_http_request(ncsp->http); - - destroy_list(ncsp->headers); - destroy_list(ncsp->cookie_list); - - free_current_action(ncsp->action); - -#ifdef STATISTICS - urls_read++; - if (ncsp->rejected) + while( !ncsp->active ) { - urls_rejected++; + csp->next = ncsp->next; + + freez(ncsp->ip_addr_str); + freez(ncsp->my_ip_addr_str); + freez(ncsp->my_hostname); + + #ifdef TRUST_FILES + freez(ncsp->referrer); + #endif /* def TRUST_FILES */ + freez(ncsp->x_forwarded); + freez(ncsp->iob->buf); + + free_http_request(ncsp->http); + + destroy_list(ncsp->headers); + destroy_list(ncsp->cookie_list); + + free_current_action(ncsp->action); + + #ifdef STATISTICS + urls_read++; + if (ncsp->rejected) + { + urls_rejected++; + } + #endif /* def STATISTICS */ + + freez(ncsp); + + /* are there any more in sequence after it? */ + if( !(ncsp = csp->next) ) + break; } -#endif /* def STATISTICS */ - - freez(ncsp); } }