X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/f552823ca5288f68128995ed503d0cb0f974d455..48b4a227035048fdebcd32532deb7a857c6199ac:/lunaix-os/kernel/ds/semaphore.c diff --git a/lunaix-os/kernel/ds/semaphore.c b/lunaix-os/kernel/ds/semaphore.c index 21d0e33..7b059a6 100644 --- a/lunaix-os/kernel/ds/semaphore.c +++ b/lunaix-os/kernel/ds/semaphore.c @@ -1,4 +1,5 @@ #include +#include void sem_init(struct sem_t *sem, unsigned int initial) { sem->counter = ATOMIC_VAR_INIT(initial); @@ -6,7 +7,7 @@ void sem_init(struct sem_t *sem, unsigned int initial) { void sem_wait(struct sem_t *sem) { while (!atomic_load(&sem->counter)) { - // TODO: yield the cpu + schedule(); } atomic_fetch_sub(&sem->counter, 1); }