From fb17f8093d82f30ada6b8f3db1c9456baa0c95c6 Mon Sep 17 00:00:00 2001 From: Bill Currie Date: Sat, 21 Mar 2020 12:02:35 +0900 Subject: [PATCH] [qwaq] Correct some queue test logic This fixes the wedge during initial setup and drawing, but the program deadlocks when processing input and there's an event. --- ruamoko/qwaq/qwaq-curses.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ruamoko/qwaq/qwaq-curses.c b/ruamoko/qwaq/qwaq-curses.c index 4fdc9e018..49d6c24e6 100644 --- a/ruamoko/qwaq/qwaq-curses.c +++ b/ruamoko/qwaq/qwaq-curses.c @@ -242,7 +242,7 @@ acquire_string (qwaq_resources_t *res) int string_id = -1; pthread_mutex_lock (&res->string_id_cond.mut); - while (!RB_DATA_AVAILABLE (res->string_ids)) { + while (RB_DATA_AVAILABLE (res->string_ids) < 1) { pthread_cond_wait (&res->string_id_cond.rcond, &res->string_id_cond.mut); } @@ -256,7 +256,7 @@ static void release_string (qwaq_resources_t *res, int string_id) { pthread_mutex_lock (&res->string_id_cond.mut); - while (RB_SPACE_AVAILABLE (res->string_ids)) { + while (RB_SPACE_AVAILABLE (res->string_ids) < 1) { pthread_cond_wait (&res->string_id_cond.wcond, &res->string_id_cond.mut); }