From: wessels <> Date: Tue, 21 Oct 1997 01:07:09 +0000 (+0000) Subject: When done swapping out (storeSwapOutHandle()) if the object became X-Git-Tag: SQUID_3_0_PRE1~4765 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=e6e887e9abe4eecaf8bab3cb87a9f4d4116eaa60;p=thirdparty%2Fsquid.git When done swapping out (storeSwapOutHandle()) if the object became uncachable, then release it and don't do storeLog() etc. --- diff --git a/src/store.cc b/src/store.cc index 200e70acfc..81c327a315 100644 --- a/src/store.cc +++ b/src/store.cc @@ -1,6 +1,6 @@ /* - * $Id: store.cc,v 1.295 1997/10/18 07:20:57 wessels Exp $ + * $Id: store.cc,v 1.296 1997/10/20 19:07:09 wessels Exp $ * * DEBUG: section 20 Storeage Manager * AUTHOR: Harvest Derived @@ -913,16 +913,19 @@ storeSwapOutHandle(int fd, int flag, size_t len, void *data) storeCheckSwapOut(e); return; } - assert(storeCheckCachable(e)); /* swapping complete */ - e->swap_status = SWAPOUT_DONE; file_close(mem->swapout.fd); + put_free_8k_page(mem->e_swap_buf); mem->swapout.fd = -1; - storeLog(STORE_LOG_SWAPOUT, e); debug(20, 5) ("storeSwapOutHandle: SwapOut complete: '%s' to %s.\n", e->url, storeSwapFullPath(e->swap_file_number, NULL)); - put_free_8k_page(mem->e_swap_buf); - storeDirSwapLog(e); + if (!storeCheckCachable(e)) { + storeReleaseRequest(e); + } else { + e->swap_status = SWAPOUT_DONE; + storeLog(STORE_LOG_SWAPOUT, e); + storeDirSwapLog(e); + } HTTPCacheInfo->proto_newobject(HTTPCacheInfo, mem->request->protocol, e->object_len,