From: wessels <> Date: Tue, 10 Feb 1998 02:07:00 +0000 (+0000) Subject: - Don't doubly call storeUnlockObject() e.g. when file_write fails X-Git-Tag: SQUID_3_0_PRE1~4135 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=c2491f3dcdd17a63c5a0aa5a193d4031829a059e;p=thirdparty%2Fsquid.git - Don't doubly call storeUnlockObject() e.g. when file_write fails - reset filemap bit when clearing swap_file_number --- diff --git a/src/store_swapout.cc b/src/store_swapout.cc index e3da6152ee..713047bece 100644 --- a/src/store_swapout.cc +++ b/src/store_swapout.cc @@ -40,6 +40,7 @@ storeSwapOutHandle(int fdnotused, int flag, size_t len, void *data) e->swap_status = SWAPOUT_NONE; if (e->swap_file_number > -1) { storeUnlinkFileno(e->swap_file_number); + storeDirMapBitReset(e->swap_file_number); e->swap_file_number = -1; } if (flag == DISK_NO_SPACE_LEFT) { @@ -194,14 +195,15 @@ void storeSwapOutFileClose(StoreEntry * e) { MemObject *mem = e->mem_obj; - if (mem->swapout.fd > -1) + if (mem->swapout.fd > -1) { file_close(mem->swapout.fd); + mem->swapout.fd = -1; + storeUnlockObject(e); + } #if USE_ASYNC_IO else aioCancel(-1, e); /* Make doubly certain pending ops are gone */ #endif - mem->swapout.fd = -1; - storeUnlockObject(e); } static void