Added time.sleep function

This commit is contained in:
Eduard Urbach 2025-02-02 17:04:58 +01:00
parent 819a4a907b
commit 0db4d4fc14
Signed by: eduard
GPG key ID: 49226B848C78F6C8
3 changed files with 25 additions and 2 deletions

21
lib/time/time.q Normal file
View file

@ -0,0 +1,21 @@
import mem
import sys
sleep(nanoseconds Int) {
seconds := 0
loop {
if nanoseconds >= 1000000000 {
nanoseconds = nanoseconds - 1000000000
seconds += 1
} else {
timespec := mem.alloc(16)
store(timespec, 8, seconds)
offset := timespec + 8
store(offset, 8, nanoseconds)
sys.nanosleep(timespec)
mem.free(timespec, 16)
return
}
}
}