From: Francesco Chemolli Date: Thu, 9 Jul 2015 13:50:22 +0000 (+0200) Subject: Check invariant in DiskdFile::readDone (CID 980997) X-Git-Tag: merge-candidate-3-v1~54 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=91663b86af6df6bb44a0fc3481e1c0f6e524679f;p=thirdparty%2Fsquid.git Check invariant in DiskdFile::readDone (CID 980997) --- diff --git a/src/DiskIO/DiskDaemon/DiskdFile.cc b/src/DiskIO/DiskDaemon/DiskdFile.cc index 3d115a0adc..a257012a27 100644 --- a/src/DiskIO/DiskDaemon/DiskdFile.cc +++ b/src/DiskIO/DiskDaemon/DiskdFile.cc @@ -348,8 +348,11 @@ DiskdFile::readDone(diomsg * M) ReadRequest::Pointer readRequest = dynamic_cast(M->requestor); /* remove the free protection */ - if (readRequest != NULL) - readRequest->unlock(); + if (readRequest != NULL) { + const uint32_t lcount = readRequest->unlock(); + if (lcount == 0) + debugs(79, DBG_IMPORTANT, "invariant check failed: redRequest reference count is 0"); + } if (M->status < 0) { ++diskd_stats.read.fail;