#pragma once #include "commons/commons_base.h" #include "commons/commons_region_alloc_def.h" struct _mutex; using mutex = _mutex*; auto API Mutex_Create(region_alloc& alloc) -> mutex; void API Mutex_Destroy(mutex self); void API Mutex_Lock(mutex self); void API Mutex_Unlock(mutex self); struct _condvar; using condvar = _condvar*; auto API CondVar_Create(region_alloc& alloc) -> condvar; void API CondVar_Destroy(condvar self); void API CondVar_Wait(condvar self, mutex mutex); void API CondVar_Signal(condvar self);