]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
Changed the policy of storeReleaseRequest() which used to require
authorwessels <>
Fri, 9 Oct 1998 23:46:35 +0000 (23:46 +0000)
committerwessels <>
Fri, 9 Oct 1998 23:46:35 +0000 (23:46 +0000)
the entry to be locked.  This was to prevent RELEASE_REQUEST entries
from getting stranded.

But there were some places where we manually set the RELEASE_REQUEST
bits for maybe-unlocked objects.  This sucks because we also need
to clear ENTRY_CACHABLE if we set RELEASE_REQUEST.

Now anyone can call storeReleaseRequest().

src/store.cc
src/store_rebuild.cc

index 16fa5911bf98a8b64ecd5ec226844ed5f743d129..65d40818fbb33589053047e91896a26533cbe8b5 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store.cc,v 1.466 1998/10/08 20:10:24 wessels Exp $
+ * $Id: store.cc,v 1.467 1998/10/09 17:46:35 wessels Exp $
  *
  * DEBUG: section 20    Storage Manager
  * AUTHOR: Harvest Derived
@@ -227,7 +227,6 @@ storeReleaseRequest(StoreEntry * e)
 {
     if (EBIT_TEST(e->flags, RELEASE_REQUEST))
        return;
-    assert(storeEntryLocked(e));
     debug(20, 3) ("storeReleaseRequest: '%s'\n", storeKeyText(e->key));
     EBIT_SET(e->flags, RELEASE_REQUEST);
     /*
@@ -787,8 +786,7 @@ storeRelease(StoreEntry * e)
        debug(20, 2) ("storeRelease: Delaying release until store is rebuilt: '%s'\n",
            storeUrl(e));
        storeExpireNow(e);
-       storeSetPrivateKey(e);
-       EBIT_SET(e->flags, RELEASE_REQUEST);
+       storeReleaseRequest(e);
        return;
     }
 #if USE_ASYNC_IO
index 102bd326278d9e545199776111070a5df5cda7b7..c50c9f46279aa2e8599308c7e4ec4d4c96e7373e 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: store_rebuild.cc,v 1.51 1998/09/19 17:06:15 wessels Exp $
+ * $Id: store_rebuild.cc,v 1.52 1998/10/09 17:46:37 wessels Exp $
  *
  * DEBUG: section 20    Store Rebuild Routines
  * AUTHOR: Duane Wessels
@@ -273,8 +273,7 @@ storeRebuildFromSwapLog(rebuild_dir * d)
                 * the cleanup procedure.
                 */
                storeExpireNow(e);
-               storeSetPrivateKey(e);
-               EBIT_SET(e->flags, RELEASE_REQUEST);
+               storeReleaseRequest(e);
                if (e->swap_file_number > -1) {
                    storeDirMapBitReset(e->swap_file_number);
                    e->swap_file_number = -1;
@@ -355,8 +354,7 @@ storeRebuildFromSwapLog(rebuild_dir * d)
            /* key already exists, this swapfile not being used */
            /* junk old, load new */
            storeExpireNow(e);
-           storeSetPrivateKey(e);
-           EBIT_SET(e->flags, RELEASE_REQUEST);
+           storeReleaseRequest(e);
            if (e->swap_file_number > -1) {
                storeDirMapBitReset(e->swap_file_number);
                e->swap_file_number = -1;