#include <lunaix/ds/semaphore.h>
-#include <lunaix/sched.h>
+#include <lunaix/kpreempt.h>
void
sem_init(struct sem_t* sem, unsigned int initial)
{
while (!atomic_load(&sem->counter)) {
// FIXME: better thing like wait queue
- sched_pass();
+ preempt_current();
}
atomic_fetch_sub(&sem->counter, 1);
}