Skip to content

semaphore

struct semaphore {
int32_t count;
bool irq_disable;
struct spinlock lock;
struct condvar cv;
};

struct semaphore referenced types:

void semaphore_init(struct semaphore *s, int value, bool irq_disable);

semaphore_init referenced types:

void semaphore_wait(struct semaphore *s);

semaphore_wait referenced types:

bool semaphore_timedwait(struct semaphore *s, time_t timeout_ms);

semaphore_timedwait referenced types:

void semaphore_post(struct semaphore *s);

semaphore_post referenced types:

void semaphore_postn(struct semaphore *s, int n);

semaphore_postn referenced types:

#define SEMAPHORE_INIT_IRQ_DISABLE true
#define SEMAPHORE_INIT_NORMAL false