Unless I'm missing something subtle, this appears to be a false positive. Coverity marked a few uses of ScopedLock with this error, but not all, which seems curious.
-K ----- Forwarded Message ----- > From: scan-ad...@coverity.com > To: dev@qpid.apache.org > Sent: Sunday, June 30, 2013 5:39:43 PM > Subject: New Defects reported by Coverity Scan for Apache-Qpid > > > ________________________________________________________________________ > CID 1040637: Missing unlock (LOCK) > > /qpidbuilds/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp: 379 ( > lock) > 376 > 377 void Connection::doIoCallbacks() { > 378 if (!isOpen()) return; // Don't process IO callbacks until we > are open. > >>> "qpid::sys::ScopedLock<qpid::sys::Mutex>::ScopedLock(qpid::sys::Mutex &)" > >>> locks "this->ioCallbackLock.mutex". > 379 ScopedLock<Mutex> l(ioCallbackLock); > 380 while (!ioCallbacks.empty()) { > 381 boost::function0<void> cb = ioCallbacks.front(); > 382 ioCallbacks.pop(); > 383 ScopedUnlock<Mutex> ul(ioCallbackLock); > > > /qpidbuilds/trunk/qpid/cpp/src/qpid/broker/amqp_0_10/Connection.cpp: 386 ( > missing_unlock) > 383 ScopedUnlock<Mutex> ul(ioCallbackLock); > 384 cb(); // Lend the IO thread for management processing > 385 } > >>> CID 1040637: Missing unlock (LOCK) > >>> Returning without unlocking "this->ioCallbackLock.mutex". > 386 } > 387 > 388 bool Connection::doOutput() { > 389 try { > 390 doIoCallbacks(); > > ________________________________________________________________________ > To view the defects in Coverity Scan visit, http://scan.coverity.com > > To unsubscribe from the email notification for new defects, > http://scan5.coverity.com/cgi-bin/unsubscribe.py > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@qpid.apache.org For additional commands, e-mail: dev-h...@qpid.apache.org