From: wessels <> Date: Fri, 27 Sep 1996 01:54:45 +0000 (+0000) Subject: more *FreeMemory() stuff X-Git-Tag: SQUID_3_0_PRE1~5721 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=df92bd2aa9a025f932baa731c2637cb5fbc18edf;p=thirdparty%2Fsquid.git more *FreeMemory() stuff --- diff --git a/src/comm.cc b/src/comm.cc index 6a31d754f2..ac81d892c5 100644 --- a/src/comm.cc +++ b/src/comm.cc @@ -1,6 +1,6 @@ /* - * $Id: comm.cc,v 1.81 1996/09/26 19:19:41 wessels Exp $ + * $Id: comm.cc,v 1.82 1996/09/26 19:54:45 wessels Exp $ * * DEBUG: section 5 Socket Functions * AUTHOR: Harvest Derived @@ -1361,4 +1361,5 @@ void commFreeMemory(void) { safe_free(fd_table); + safe_free(fd_lifetime); } diff --git a/src/redirect.cc b/src/redirect.cc index 48fca30ed5..5bb1235228 100644 --- a/src/redirect.cc +++ b/src/redirect.cc @@ -1,5 +1,5 @@ /* - * $Id: redirect.cc,v 1.20 1996/09/26 19:19:20 wessels Exp $ + * $Id: redirect.cc,v 1.21 1996/09/26 19:54:45 wessels Exp $ * * DEBUG: section 29 Redirector * AUTHOR: Duane Wessels @@ -184,6 +184,7 @@ redirectHandleRead(int fd, redirector_t * redirector) fd, redirector->index + 1); redirector->flags = 0; put_free_4k_page(redirector->inbuf); + redirector->inbuf = NULL; comm_close(fd); if (--NRedirectorsOpen == 0 && !shutdown_pending && !reread_pending) fatal_dump("All redirectors have exited!"); @@ -343,7 +344,8 @@ redirectFreeMemory(void) /* free old structures if present */ if (redirect_child_table) { for (k = 0; k < NRedirectors; k++) { - put_free_4k_page(redirect_child_table[k]->inbuf); + if (redirect_child_table[k]->inbuf) + put_free_4k_page(redirect_child_table[k]->inbuf); safe_free(redirect_child_table[k]); } safe_free(redirect_child_table); diff --git a/src/stmem.cc b/src/stmem.cc index 7a1f4b6e87..a6a4bf406f 100644 --- a/src/stmem.cc +++ b/src/stmem.cc @@ -1,5 +1,6 @@ + /* - * $Id: stmem.cc,v 1.27 1996/09/26 19:19:21 wessels Exp $ + * $Id: stmem.cc,v 1.28 1996/09/26 19:54:47 wessels Exp $ * * DEBUG: section 19 Memory Primitives * AUTHOR: Harvest Derived @@ -451,6 +452,7 @@ stmemFreeThingMemory(stmem_stats * thing) p = pop(&thing->free_page_stack); safe_free(p); } + stackFreeMemory(&thing->free_page_stack); } void diff --git a/src/store.cc b/src/store.cc index 20540a677c..e62b6c1e9a 100644 --- a/src/store.cc +++ b/src/store.cc @@ -1,6 +1,6 @@ /* - * $Id: store.cc,v 1.122 1996/09/26 19:19:48 wessels Exp $ + * $Id: store.cc,v 1.123 1996/09/26 19:54:48 wessels Exp $ * * DEBUG: section 20 Storeage Manager * AUTHOR: Harvest Derived @@ -2847,11 +2847,19 @@ void storeFreeMemory(void) { StoreEntry *e; -#ifdef THIS_IS_SLOW - while ((e = (StoreEntry *) storeFindFirst(store_table))) { - storeHashDelete(e); - destroy_StoreEntry(e); + StoreEntry **list; + int i = 0; + list = xcalloc(meta_data.store_entries, sizeof(StoreEntry)); + e = (StoreEntry *) hash_first(store_table); + while (e && i < meta_data.store_entries) { + *(list + i) = e; + i++; + e = (StoreEntry *) hash_next(store_table); + } + while (i) { + destroy_StoreEntry(*(list + i)); + i--; } -#endif + xfree(list); hashFreeMemory(store_table); }