From: wessels <> Date: Sat, 30 Jan 1999 04:01:06 +0000 (+0000) Subject: we need to lock entry in errorAppend(). our storeAppend (or rather X-Git-Tag: SQUID_3_0_PRE1~2329 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=5507c7d54736b83e8d01f3ab3b63df71edd9ddfe;p=thirdparty%2Fsquid.git we need to lock entry in errorAppend(). our storeAppend (or rather storeBufferFlush) call might result in the client-side unregistering and aborting, and unlocking, and freeing the entry. This happened for netdb exchange requests. --- diff --git a/src/errorpage.cc b/src/errorpage.cc index bd276d4eef..fa1989032f 100644 --- a/src/errorpage.cc +++ b/src/errorpage.cc @@ -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); }