static void free_queue(Queue *queue) { assert_no_survivors(&queue->mutex.waiting, "queue", queue); assert_no_survivors(&queue->space_available.waiting, "queue", queue); assert_no_survivors(&queue->value_available.waiting, "queue", queue); finalize_queue(queue); xfree(queue); }
static void free_queue(Queue *queue) { kill_waiting_threads(&queue->mutex.waiting); kill_waiting_threads(&queue->space_available.waiting); kill_waiting_threads(&queue->value_available.waiting); finalize_queue(queue); xfree(queue); }