decoder_thread: migrate from pthread to glib threads

This commit is contained in:
Thomas Jansen 2008-12-28 22:09:33 +01:00
parent bfb5657d6d
commit c01ad37d3b

View File

@ -28,7 +28,6 @@
#include "log.h" #include "log.h"
#include "ls.h" #include "ls.h"
#include <pthread.h>
#include <glib.h> #include <glib.h>
static bool static bool
@ -203,7 +202,7 @@ static void decoder_run(void)
dc.state = ret ? DECODE_STATE_STOP : DECODE_STATE_ERROR; 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 { do {
assert(dc.state == DECODE_STATE_STOP || assert(dc.state == DECODE_STATE_STOP ||
@ -234,11 +233,9 @@ static void * decoder_task(G_GNUC_UNUSED void *arg)
void decoder_thread_start(void) void decoder_thread_start(void)
{ {
pthread_attr_t attr; GError *e;
pthread_t decoder_thread; GThread *t;
pthread_attr_init(&attr); if (!(t = g_thread_create(decoder_task, NULL, FALSE, &e)))
pthread_attr_setdetachstate(&attr, PTHREAD_CREATE_DETACHED); FATAL("Failed to spawn decoder task: %s\n", e->message);
if (pthread_create(&decoder_thread, &attr, decoder_task, NULL))
FATAL("Failed to spawn decoder task: %s\n", strerror(errno));
} }