/*
- * $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
commFreeMemory(void)
{
safe_free(fd_table);
+ safe_free(fd_lifetime);
}
/*
- * $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
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!");
/* 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);
+
/*
- * $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
p = pop(&thing->free_page_stack);
safe_free(p);
}
+ stackFreeMemory(&thing->free_page_stack);
}
void
/*
- * $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
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);
}