// SPDX-License-Identifier: ISC #pragma once #include #include struct condvar { _Atomic(uint32_t) seq; _Atomic(uint32_t) waiters; }; void condvar_init(struct condvar* cv); void condvar_wait(struct condvar* cv, mutex_t* mutex); void condvar_signal(struct condvar* cv); void condvar_broadcast(struct condvar* cv);