6#include <sys/spinlock.h>
8#define SEMAPHORE_NAMELEN 32
void Semaphore_Release(Semaphore *sema)
void Semaphore_Destroy(Semaphore *sema)
bool Semaphore_TryAcquire(Semaphore *sema)
void Semaphore_Acquire(Semaphore *sema)
void Semaphore_Init(Semaphore *sema, int count, const char *name)
#define SEMAPHORE_NAMELEN
TAILQ_HEAD(SemaThreadQueue, Thread) waiters
char name[SEMAPHORE_NAMELEN]
LIST_ENTRY(Semaphore) semaphoreList