From ed9668f638ec3a31096821648f289b8a243f4ab2 Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Sat, 27 Dec 2008 20:56:06 +0100 Subject: notify: use GLib locking Use GLib locking (GMutex, GCond) instead of pthread because GLib is more portable, e.g. on mingw32. --- src/notify.c | 29 ++++++++++------------------- 1 file changed, 10 insertions(+), 19 deletions(-) (limited to 'src/notify.c') diff --git a/src/notify.c b/src/notify.c index 7d25db517..24d0e3928 100644 --- a/src/notify.c +++ b/src/notify.c @@ -17,42 +17,33 @@ */ #include "notify.h" -#include "log.h" void notify_init(struct notify *notify) { - int ret; - - ret = pthread_mutex_init(¬ify->mutex, NULL); - if (ret != 0) - FATAL("pthread_mutex_init() failed"); - - ret = pthread_cond_init(¬ify->cond, NULL); - if (ret != 0) - FATAL("pthread_mutex_init() failed"); - + notify->mutex = g_mutex_new(); + notify->cond = g_cond_new(); notify->pending = false; } void notify_deinit(struct notify *notify) { - pthread_mutex_destroy(¬ify->mutex); - pthread_cond_destroy(¬ify->cond); + g_mutex_free(notify->mutex); + g_cond_free(notify->cond); } void notify_wait(struct notify *notify) { - pthread_mutex_lock(¬ify->mutex); + g_mutex_lock(notify->mutex); while (!notify->pending) - pthread_cond_wait(¬ify->cond, ¬ify->mutex); + g_cond_wait(notify->cond, notify->mutex); notify->pending = false; - pthread_mutex_unlock(¬ify->mutex); + g_mutex_unlock(notify->mutex); } void notify_signal(struct notify *notify) { - pthread_mutex_lock(¬ify->mutex); + g_mutex_lock(notify->mutex); notify->pending = true; - pthread_cond_signal(¬ify->cond); - pthread_mutex_unlock(¬ify->mutex); + g_cond_signal(notify->cond); + g_mutex_unlock(notify->mutex); } -- cgit v1.2.3