After calling unlock()
on a boost::recursive_mutex::scoped_lock
, will the lock object reference the mutex somehow in its destructor?
The lock still retains a reference to the mutex after the call to unlock (ie. mutex()
returns the same pointer). Must release()
also be called on the lock in the case where the mutex is destroyed before the lock goes out of scope?