static void finalize_queue(Queue *queue) { finalize_mutex(&queue->mutex); finalize_condvar(&queue->value_available); finalize_condvar(&queue->space_available); finalize_list(&queue->values); }
static void free_condvar(ConditionVariable *condvar) { assert_no_survivors(&condvar->waiting, "condition variable", condvar); finalize_condvar(condvar); xfree(condvar); }
static void free_condvar(ConditionVariable *condvar) { kill_waiting_threads(&condvar->waiting); finalize_condvar(condvar); xfree(condvar); }