diff -r 22de2e391156 -r 20ac952a623c bluetoothmgmt/bluetoothclientlib/avctpservices/avctpremotedevices.cpp --- a/bluetoothmgmt/bluetoothclientlib/avctpservices/avctpremotedevices.cpp Thu Sep 23 17:06:47 2010 +0300 +++ b/bluetoothmgmt/bluetoothclientlib/avctpservices/avctpremotedevices.cpp Wed Oct 13 16:20:29 2010 +0300 @@ -64,17 +64,26 @@ void RNestableLock::Wait() { - iMetaLock.Wait(); + iMetaLock.Wait(); + TThreadId currentThreadId = RThread().Id(); if(iThreadId == TThreadId(KInvalidThreadId) || currentThreadId != iThreadId) { iMetaLock.Signal(); iLock.Wait(); iMetaLock.Wait(); + // 'currentThreadId' will be the thread Id of the thread running + // this bit of code. See comment above 'currentThreadId definition. + // coverity[use] iThreadId = currentThreadId; } ++iRefCount; iMetaLock.Signal(); + // Coverity claims a missing unlock at the end of + // this method. The missing unlock is from the + // "iLock.Wait();" a few lines up. + // However this method is intended to take the lock. + // coverity[missing_unlock] } void RNestableLock::Signal()