From d9d86d1a5d860fbfd2213c2c3286011d4f1b3fad Mon Sep 17 00:00:00 2001 From: Maksym Veremeyenko Date: Sat, 25 Jun 2011 12:06:29 +0300 Subject: [PATCH] move omneon status threads to GThread --- src/omnplay.cpp | 16 +++++----------- src/omnplay.h | 2 +- 2 files changed, 6 insertions(+), 12 deletions(-) diff --git a/src/omnplay.cpp b/src/omnplay.cpp index 8213402..801cbaa 100644 --- a/src/omnplay.cpp +++ b/src/omnplay.cpp @@ -1241,24 +1241,19 @@ void omnplay_init(omnplay_instance_t* app) /* create lock */ pthread_mutex_init(&app->players.lock, &attr); + pthread_mutex_init(&app->playlist.lock, &attr); + pthread_mutex_init(&app->library.lock, &attr); /* create a omneon status thread */ for(i = 0; i < app->players.count; i++) - pthread_create(&app->players.item[i].thread, NULL, - omnplay_thread_proc, &app->players.item[i]); - - - /* create lock */ - pthread_mutex_init(&app->playlist.lock, &attr); + app->players.item[i].thread = g_thread_create( + omnplay_thread_proc, &app->players.item[i], TRUE, NULL); /* attach buttons click */ for(i = 1; i < BUTTON_LAST; i++) gtk_signal_connect(GTK_OBJECT(app->buttons[i]), "clicked", GTK_SIGNAL_FUNC( on_button_click), app ); - /* create lock */ - pthread_mutex_init(&app->library.lock, &attr); - /* load library */ omnplay_library_load(app); @@ -1268,13 +1263,12 @@ void omnplay_init(omnplay_instance_t* app) void omnplay_release(omnplay_instance_t* app) { int i; - void* r; app->f_exit = 1; for(i = 0; i < app->players.count; i++) /* create a omneon status thread */ - pthread_join(app->players.item[i].thread, &r); + g_thread_join(app->players.item[i].thread); /* destroy lock */ pthread_mutex_destroy(&app->players.lock); diff --git a/src/omnplay.h b/src/omnplay.h index e70d78b..de4e942 100644 --- a/src/omnplay.h +++ b/src/omnplay.h @@ -117,7 +117,7 @@ typedef struct omnplay_player char name[PATH_MAX]; char host[PATH_MAX]; void* handle; - pthread_t thread; + GThread* thread; GtkWidget *label_status, *label_state, *label_tc_cur, *label_tc_rem, *label_clip; struct omnplay_instance *app; int playlist_start; -- 1.7.4.4