From: wessels <> Date: Fri, 11 Oct 1996 04:19:36 +0000 (+0000) Subject: Free request structures for objects remaining in VM X-Git-Tag: SQUID_3_0_PRE1~5684 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=12f6386d1595a2b1ac2da45b74e43ef2d387e02e;p=thirdparty%2Fsquid.git Free request structures for objects remaining in VM --- diff --git a/src/store.cc b/src/store.cc index 35ceb5e250..b4a9e1619c 100644 --- a/src/store.cc +++ b/src/store.cc @@ -1,6 +1,6 @@ /* - * $Id: store.cc,v 1.129 1996/10/10 19:04:19 wessels Exp $ + * $Id: store.cc,v 1.130 1996/10/10 22:19:36 wessels Exp $ * * DEBUG: section 20 Storeage Manager * AUTHOR: Harvest Derived @@ -601,9 +601,6 @@ storeUnlockObject(StoreEntry * e) e->lock_count--; } else if (storeShouldPurgeMem(e)) { storePurgeMem(e); - } else { - requestUnlink(mem->request); - mem->request = NULL; } return 0; } @@ -1187,6 +1184,10 @@ storeSwapInHandle(int fd_notused, char *buf, int len, int flag, StoreEntry * e, } if (e->flag & RELEASE_REQUEST) storeRelease(e); + else { + requestUnlink(mem->request); + mem->request = NULL; + } } return 0; } @@ -1320,6 +1321,10 @@ storeSwapOutHandle(int fd, int flag, StoreEntry * e) storeRelease(e); else if (storeShouldPurgeMem(e)) storePurgeMem(e); + else { + requestUnlink(mem->request); + mem->request = NULL; + } return; } /* write some more data, reschedule itself. */ @@ -1694,12 +1699,15 @@ storeComplete(StoreEntry * e) e->store_status = STORE_OK; storeSetMemStatus(e, IN_MEMORY); e->swap_status = NO_SWAP; - if (storeCheckSwapable(e)) - storeSwapOutStart(e); - /* free up incoming MIME */ safe_free(e->mem_obj->mime_hdr); if (e->flag & RELEASE_REQUEST) storeRelease(e); + else if (storeCheckSwapable(e)) + storeSwapOutStart(e); + else { + requestUnlink(e->mem_obj->request); + e->mem_obj->request = NULL; + } } /*