diff options
Diffstat (limited to 'kernel.soso/sleep.c')
-rw-r--r-- | kernel.soso/sleep.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/kernel.soso/sleep.c b/kernel.soso/sleep.c new file mode 100644 index 00000000..2120a192 --- /dev/null +++ b/kernel.soso/sleep.c @@ -0,0 +1,17 @@ +#include "sleep.h" +#include "timer.h" + +void sleepMilliseconds(Thread* thread, uint32 ms) +{ + uint32 uptime = getUptimeMilliseconds(); + + //target uptime to wakeup + uint32 target = uptime + ms; + + thread->state = TS_SLEEP; + thread->state_privateData = (void*)target; + + enableInterrupts(); + + halt(); +} |