aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/Main.cxx5
-rw-r--r--src/Main.hxx4
-rw-r--r--src/UpdateGlue.cxx5
3 files changed, 8 insertions, 6 deletions
diff --git a/src/Main.cxx b/src/Main.cxx
index 003f7414b..726bfc5d4 100644
--- a/src/Main.cxx
+++ b/src/Main.cxx
@@ -58,6 +58,7 @@
#include "system/FatalError.hxx"
#include "util/Error.hxx"
#include "util/Domain.hxx"
+#include "thread/Id.hxx"
#include "ConfigGlobal.hxx"
#include "ConfigData.hxx"
#include "ConfigDefaults.hxx"
@@ -99,7 +100,7 @@ enum {
static constexpr Domain main_domain("main");
-GThread *main_task;
+ThreadId main_thread;
EventLoop *main_loop;
Instance *instance;
@@ -389,7 +390,7 @@ int mpd_main(int argc, char *argv[])
return EXIT_FAILURE;
}
- main_task = g_thread_self();
+ main_thread = ThreadId::GetCurrent();
main_loop = new EventLoop(EventLoop::Default());
instance = new Instance();
diff --git a/src/Main.hxx b/src/Main.hxx
index a789300ed..943d9819e 100644
--- a/src/Main.hxx
+++ b/src/Main.hxx
@@ -20,11 +20,11 @@
#ifndef MPD_MAIN_HXX
#define MPD_MAIN_HXX
+class ThreadId;
class EventLoop;
struct Instance;
-typedef struct _GThread GThread;
-extern GThread *main_task;
+extern ThreadId main_thread;
extern EventLoop *main_loop;
diff --git a/src/UpdateGlue.cxx b/src/UpdateGlue.cxx
index 50af6271d..e55668c55 100644
--- a/src/UpdateGlue.cxx
+++ b/src/UpdateGlue.cxx
@@ -33,6 +33,7 @@
#include "Main.hxx"
#include "Instance.hxx"
#include "system/FatalError.hxx"
+#include "thread/Id.hxx"
#include <glib.h>
@@ -92,7 +93,7 @@ static void * update_task(void *_path)
static void
spawn_update_task(const char *path)
{
- assert(g_thread_self() == main_task);
+ assert(main_thread.IsInside());
progress = UPDATE_PROGRESS_RUNNING;
modified = false;
@@ -115,7 +116,7 @@ spawn_update_task(const char *path)
unsigned
update_enqueue(const char *path, bool _discard)
{
- assert(g_thread_self() == main_task);
+ assert(main_thread.IsInside());
if (!db_is_simple() || !mapper_has_music_directory())
return 0;