[kernel] Add a timeout to endpoint recieve syscalls

This also required adding support for multiple wait conditions on a
thread, so wait_type is an enum_bitfield now.

I really need a real clock.
This commit is contained in:
Justin C. Miller
2022-01-15 17:48:19 -08:00
parent 2dd78beb92
commit 19f9496889
8 changed files with 81 additions and 31 deletions

View File

@@ -18,6 +18,7 @@ object endpoint : kobject {
method receive {
param tag uint64 [out]
param data buffer [out]
param timeout uint64 # Receive timeout in nanoseconds
}
# Send a message on a channel and then await a new message.
@@ -26,5 +27,6 @@ object endpoint : kobject {
method sendrecv {
param tag uint64 [inout]
param data buffer [inout]
param timeout uint64 # Receive timeout in nanoseconds
}
}