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 <stdexcept>
#include <utility> #include <utility>
#include <memory> #include <memory>
#include <spinLock.h> #include <qutex.h>
#include <lockerAndInvokerBase.h> #include <lockerAndInvokerBase.h>
namespace smo { namespace smo {
@@ -89,7 +89,29 @@ public:
void unregisterFromQutexQueues(); void unregisterFromQutexQueues();
// @brief Release all locks // @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 const LockUsageDesc &getLockUsageDesc(const Qutex &criterionLock) const
{ {
-25
View File
@@ -113,29 +113,4 @@ void LockSet<OriginalCbFnT>::unregisterFromQutexQueues()
} }
} }
template <class OriginalCbFnT>
void LockSet<OriginalCbFnT>::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;
}
} // namespace smo } // namespace smo