diff options
author | Thomas Jansen <mithi@mithi.net> | 2008-12-28 22:09:33 +0100 |
---|---|---|
committer | Thomas Jansen <mithi@mithi.net> | 2008-12-28 22:09:33 +0100 |
commit | c01ad37d3bb9b8d801b91f3a02caba8c461f88e4 (patch) | |
tree | 7e37251c89788eb849e6a0ca7df6c627bdc5cf0b | |
parent | bfb5657d6d34d199b7b3408434e5b397bed976d6 (diff) | |
download | mpd-c01ad37d3bb9b8d801b91f3a02caba8c461f88e4.tar.gz mpd-c01ad37d3bb9b8d801b91f3a02caba8c461f88e4.tar.xz mpd-c01ad37d3bb9b8d801b91f3a02caba8c461f88e4.zip |
decoder_thread: migrate from pthread to glib threads
-rw-r--r-- | src/decoder_thread.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/src/decoder_thread.c b/src/decoder_thread.c index 093c67f90..de82cb6d3 100644 --- a/src/decoder_thread.c +++ b/src/decoder_thread.c @@ -28,7 +28,6 @@ #include "log.h" #include "ls.h" -#include <pthread.h> #include <glib.h> static bool @@ -203,7 +202,7 @@ static void decoder_run(void) dc.state = ret ? DECODE_STATE_STOP : DECODE_STATE_ERROR; } -static void * decoder_task(G_GNUC_UNUSED void *arg) +static gpointer decoder_task(G_GNUC_UNUSED gpointer arg) { do { assert(dc.state == DECODE_STATE_STOP || @@ -234,11 +233,9 @@ static void * decoder_task(G_GNUC_UNUSED void *arg) void decoder_thread_start(void) { - pthread_attr_t attr; - pthread_t decoder_thread; + GError *e; + GThread *t; - pthread_attr_init(&attr); - pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); - if (pthread_create(&decoder_thread, &attr, decoder_task, NULL)) - FATAL("Failed to spawn decoder task: %s\n", strerror(errno)); + if (!(t = g_thread_create(decoder_task, NULL, FALSE, &e))) + FATAL("Failed to spawn decoder task: %s\n", e->message); } |