]> git.ipfire.org Git - thirdparty/squid.git/commitdiff
we need to lock entry in errorAppend(). our storeAppend (or rather
authorwessels <>
Sat, 30 Jan 1999 04:01:06 +0000 (04:01 +0000)
committerwessels <>
Sat, 30 Jan 1999 04:01:06 +0000 (04:01 +0000)
storeBufferFlush) call might result in the client-side unregistering
and aborting, and unlocking, and freeing the entry.  This happened
for netdb exchange requests.

src/errorpage.cc

index bd276d4eef7c27baad784f9ece3ca17b0289154c..fa1989032f2fdc6f4c6ef33e8257158567cece3d 100644 (file)
@@ -1,6 +1,6 @@
 
 /*
- * $Id: errorpage.cc,v 1.147 1999/01/19 05:24:47 wessels Exp $
+ * $Id: errorpage.cc,v 1.148 1999/01/29 21:01:06 wessels Exp $
  *
  * DEBUG: section 4     Error Generation
  * AUTHOR: Duane Wessels
@@ -275,6 +275,7 @@ errorAppendEntry(StoreEntry * entry, ErrorState * err)
        errorStateFree(err);
        return;
     }
+    storeLockObject(entry);
     storeBuffer(entry);
     rep = errorBuildReply(err);
     /* Add authentication header */
@@ -302,6 +303,7 @@ errorAppendEntry(StoreEntry * entry, ErrorState * err)
     storeComplete(entry);
     storeNegativeCache(entry);
     storeReleaseRequest(entry);
+    storeUnlockObject(entry);
     errorStateFree(err);
 }