aboutsummaryrefslogtreecommitdiffstats
path: root/src/DatabaseLock.hxx
diff options
context:
space:
mode:
authorMax Kellermann <max@duempel.org>2013-08-10 09:00:04 +0200
committerMax Kellermann <max@duempel.org>2013-08-10 09:00:04 +0200
commitd23c907a94a58d5e6ad2f42f6eecf358e3d9f775 (patch)
treee399175cc7a39d786e9ee3403c8cec8e1cd785c6 /src/DatabaseLock.hxx
parent018f4155eb7b476b96a7b401377be78e00ca7dd2 (diff)
downloadmpd-d23c907a94a58d5e6ad2f42f6eecf358e3d9f775.tar.gz
mpd-d23c907a94a58d5e6ad2f42f6eecf358e3d9f775.tar.xz
mpd-d23c907a94a58d5e6ad2f42f6eecf358e3d9f775.zip
thread/Id: new class replacing GThread pointers
Remove a GLib dependencies from class EventLoop and DatabaseLock.
Diffstat (limited to '')
-rw-r--r--src/DatabaseLock.hxx13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/DatabaseLock.hxx b/src/DatabaseLock.hxx
index ba6157999..005835549 100644
--- a/src/DatabaseLock.hxx
+++ b/src/DatabaseLock.hxx
@@ -30,14 +30,15 @@
#include "thread/Mutex.hxx"
#include "gcc.h"
-#include <glib.h>
#include <assert.h>
extern Mutex db_mutex;
#ifndef NDEBUG
-extern GThread *db_mutex_holder;
+#include "thread/Id.hxx"
+
+extern ThreadId db_mutex_holder;
/**
* Does the current thread hold the database lock?
@@ -46,7 +47,7 @@ gcc_pure
static inline bool
holding_db_lock(void)
{
- return db_mutex_holder == g_thread_self();
+ return db_mutex_holder.IsInside();
}
#endif
@@ -62,9 +63,9 @@ db_lock(void)
db_mutex.lock();
- assert(db_mutex_holder == NULL);
+ assert(db_mutex_holder.IsNull());
#ifndef NDEBUG
- db_mutex_holder = g_thread_self();
+ db_mutex_holder = ThreadId::GetCurrent();
#endif
}
@@ -76,7 +77,7 @@ db_unlock(void)
{
assert(holding_db_lock());
#ifndef NDEBUG
- db_mutex_holder = NULL;
+ db_mutex_holder = ThreadId::Null();
#endif
db_mutex.unlock();