Converting Glib's mutex (obsolete) to std::mutex
(no issue)
This commit is contained in:
@@ -25,14 +25,14 @@
|
||||
//#undef STRICT_MUTEX
|
||||
//#define STRICT_MUTEX 1
|
||||
|
||||
#include <glibmm/threads.h>
|
||||
|
||||
#include <mutex>
|
||||
#include <condition_variable>
|
||||
#include "../rtengine/noncopyable.h"
|
||||
|
||||
#if STRICT_MUTEX && NDEBUG
|
||||
using MyMutexBase = Glib::Threads::Mutex;
|
||||
using MyMutexBase = std::mutex;
|
||||
#else
|
||||
using MyMutexBase = Glib::Threads::RecMutex;
|
||||
using MyMutexBase = std::recursive_mutex;
|
||||
#endif
|
||||
|
||||
/**
|
||||
@@ -67,8 +67,6 @@ class MyMutex::MyLock :
|
||||
{
|
||||
public:
|
||||
explicit MyLock (MyMutex& mutex);
|
||||
MyLock (MyMutex& mutex, Glib::Threads::NotLock);
|
||||
MyLock (MyMutex& mutex, Glib::Threads::TryLock);
|
||||
|
||||
~MyLock ();
|
||||
|
||||
@@ -92,8 +90,8 @@ public:
|
||||
friend class MyWriterLock;
|
||||
|
||||
private:
|
||||
Glib::Threads::Mutex mutex;
|
||||
Glib::Threads::Cond cond;
|
||||
std::mutex mutex;
|
||||
std::condition_variable_any cond;
|
||||
|
||||
std::size_t writerCount = 0;
|
||||
std::size_t readerCount = 0;
|
||||
@@ -168,7 +166,7 @@ inline void MyMutex::lock ()
|
||||
|
||||
inline bool MyMutex::trylock ()
|
||||
{
|
||||
if (MyMutexBase::trylock ()) {
|
||||
if (MyMutexBase::try_lock ()) {
|
||||
#if STRICT_MUTEX && !NDEBUG
|
||||
checkLock ();
|
||||
#endif
|
||||
@@ -195,18 +193,6 @@ inline MyMutex::MyLock::MyLock (MyMutex& mutex)
|
||||
mutex.lock();
|
||||
}
|
||||
|
||||
inline MyMutex::MyLock::MyLock (MyMutex& mutex, Glib::Threads::NotLock)
|
||||
: mutex (mutex)
|
||||
, locked (false)
|
||||
{
|
||||
}
|
||||
|
||||
inline MyMutex::MyLock::MyLock (MyMutex& mutex, Glib::Threads::TryLock)
|
||||
: mutex (mutex)
|
||||
, locked (mutex.trylock ())
|
||||
{
|
||||
}
|
||||
|
||||
inline MyMutex::MyLock::~MyLock ()
|
||||
{
|
||||
if (locked) {
|
||||
|
Reference in New Issue
Block a user