]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
more *FreeMemory() stuff
authorwessels <>
Fri, 27 Sep 1996 01:54:45 +0000 (01:54 +0000)
committerwessels <>
Fri, 27 Sep 1996 01:54:45 +0000 (01:54 +0000)
src/comm.cc
src/redirect.cc
src/stmem.cc
src/store.cc

index 6a31d754f25c06699106e0fddb8d48bd7c1fd67b..ac81d892c518bf2066e2a3244cc09c470e99dc1b 100644 (file)
@@ -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);
 }
index 48fca30ed53b123dc46671f29e18eb8b856f48ff..5bb1235228ddc4eb30a0b79299604247c80c6728 100644 (file)
@@ -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);
index 7a1f4b6e87b23db7ab44536f2916eb602bfa80d3..a6a4bf406fbe12d4d4153811ed611c50578900a7 100644 (file)
@@ -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
index 20540a677c4eb0263c77eb056c0707ba69bce8e3..e62b6c1e9aa14a662c7f75b1fc8730c6a21414f5 100644 (file)
@@ -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);
 }