Exemplo n.º 1
0
        RCSResourceObject::LockGuard::~LockGuard()
        {
            if (m_autoNotifyFunc) m_autoNotifyFunc();

            if (m_isOwningLock)
            {
                m_resourceObject.setLockOwner(std::thread::id{ });
                m_resourceObject.m_mutex.unlock();
            }
        }
Exemplo n.º 2
0
        RCSResourceObject::LockGuard::~LockGuard() noexcept(false)
        {
            if (!std::uncaught_exception() && m_autoNotifyFunc) m_autoNotifyFunc();

            if (m_isOwningLock)
            {
                m_resourceObject.setLockOwner(std::thread::id{ });
                m_resourceObject.m_mutex.unlock();
            }
        }