aboutsummaryrefslogtreecommitdiff
path: root/src/proone-resolv.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/proone-resolv.c')
-rw-r--r--src/proone-resolv.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/proone-resolv.c b/src/proone-resolv.c
index 73198fe..490f861 100644
--- a/src/proone-resolv.c
+++ b/src/proone-resolv.c
@@ -165,7 +165,9 @@ static void *stdout_wkr_entry (void *ctx) {
bool output = false;
while (main_flag || prm_list.size > 0) {
- prne_assert(prne_pth_cond_timedwait(&prm_cv, NULL, NULL));
+ pth_mutex_acquire(prm_cv.lock, FALSE, NULL);
+ pth_cond_await(prm_cv.cond, prm_cv.lock, NULL);
+ pth_mutex_release(prm_cv.lock);
cur = prm_list.head;
while (cur != NULL) {
@@ -279,7 +281,7 @@ int main (void) {
main_flag = false;
close(STDIN_FILENO);
- prne_pth_cv_notify(&prm_cv);
+ prne_pth_cv_notify(prm_cv.lock, prm_cv.cond, true);
for (size_t i = 0; i < sizeof(wkr_arr)/sizeof(prne_worker_t); i += 1) {
prne_fin_worker(wkr_arr + i);
}