aboutsummaryrefslogtreecommitdiffstats
path: root/src/notify.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/notify.c')
-rw-r--r--src/notify.c20
1 files changed, 4 insertions, 16 deletions
diff --git a/src/notify.c b/src/notify.c
index edb77f66d..5aaecd0ad 100644
--- a/src/notify.c
+++ b/src/notify.c
@@ -40,32 +40,20 @@ void notify_deinit(struct notify *notify)
pthread_cond_destroy(&notify->cond);
}
-void notify_enter(struct notify *notify)
-{
- pthread_mutex_lock(&notify->mutex);
-}
-
-void notify_leave(struct notify *notify)
-{
- pthread_mutex_unlock(&notify->mutex);
-}
-
void notify_wait(struct notify *notify)
{
+ pthread_mutex_lock(&notify->mutex);
if (!notify->pending)
pthread_cond_wait(&notify->cond, &notify->mutex);
+ assert(notify->pending);
notify->pending = 0;
+ pthread_mutex_unlock(&notify->mutex);
}
void notify_signal(struct notify *notify)
{
+ pthread_mutex_lock(&notify->mutex);
notify->pending = 1;
pthread_cond_signal(&notify->cond);
-}
-
-void notify_signal_sync(struct notify *notify)
-{
- pthread_mutex_lock(&notify->mutex);
- notify_signal(notify);
pthread_mutex_unlock(&notify->mutex);
}