Move LockSet::release into header

This commit is contained in:
2025-09-30 02:59:14 -04:00
parent ca9eae197f
commit e299e956e5
2 changed files with 24 additions and 27 deletions
+24 -2
View File
@@ -7,7 +7,7 @@
#include <stdexcept>
#include <utility>
#include <memory>
#include <spinLock.h>
#include <qutex.h>
#include <lockerAndInvokerBase.h>
namespace smo {
@@ -89,7 +89,29 @@ public:
void unregisterFromQutexQueues();
// @brief Release all locks
void release();
void release()
{
if (!registeredInQutexQueues)
{
throw std::runtime_error(
std::string(__func__) +
": LockSet::release() called but not registered in Qutex "
"queues");
}
if (!allLocksAcquired)
{
throw std::runtime_error(
std::string(__func__) +
": LockSet::release() called but allLocksAcquired is false");
}
for (auto& lockUsageDesc : locks) {
lockUsageDesc.first.get().release();
}
allLocksAcquired = false;
}
const LockUsageDesc &getLockUsageDesc(const Qutex &criterionLock) const
{