]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
move RELEASE_REQUEST entries to the LRU list TAIL so they get
authorwessels <>
Wed, 1 Apr 1998 10:26:44 +0000 (10:26 +0000)
committerwessels <>
Wed, 1 Apr 1998 10:26:44 +0000 (10:26 +0000)
removed by the LRU procedure.

src/store_rebuild.cc
src/tools.cc

index ce673733bc061536ef75470d59fb65ae15eddf72..80360a31e498b779619dc1df07eef3a33f7c280d 100644 (file)
@@ -560,12 +560,18 @@ storeCleanup(void *datanotused)
            continue;
        if (EBIT_TEST(e->flag, RELEASE_REQUEST)) {
            if (e->swap_file_number > -1)
-               debug(20, 1) ("storeCleanup: WARNING: swap_file_number = %08X for RELEASE_REQUEST entry\n",
+               debug(20, 3) ("storeCleanup: swap_file_number = %08X for RELEASE_REQUEST entry\n",
                    e->swap_file_number);
            /*
             * I don't think it safe to call storeRelease()
             * from inside this loop using link_ptr.
             */
+           /*
+            * Move to the tail of the LRU list
+            * so it gets kicked out
+            */
+           dlinkDelete(&e->lru, &store_list);
+           dlinkAddTail(e, &e->lru, &store_list);
            continue;
        }
        if (opt_store_doublecheck) {
index aaf7af1a63f5d07bbd9e28f8c1979dcd9025d341..107b433bd00e8b75f5e3d061aac6ce0424d6defa 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: tools.cc,v 1.151 1998/03/05 00:43:09 wessels Exp $
+ * $Id: tools.cc,v 1.152 1998/04/01 03:26:44 wessels Exp $
  *
  * DEBUG: section 21    Misc Functions
  * AUTHOR: Harvest Derived
@@ -800,6 +800,19 @@ dlinkAdd(void *data, dlink_node * m, dlink_list * list)
        list->tail = m;
 }
 
+void
+dlinkAddTail(void *data, dlink_node * m, dlink_list * list)
+{
+    m->data = data;
+    m->next = NULL;
+    m->prev = list->tail;
+    if (list->tail)
+       list->tail->next = m;
+    list->tail = m;
+    if (list->head == NULL)
+       list->head = m;
+}
+
 void
 dlinkDelete(dlink_node * m, dlink_list * list)
 {