This allows external API clients to specify an absolute deadline for
waking up. This is potentially more precise because the `timeout` is
relative to whenever uk_thread_block_timeout is actually taking the
"current" time.
Signed-off-by: Marco Schlumpp <marco@unikraft.io>
Reviewed-by: Adina Smeu <adina.smeu@gmail.com>
Approved-by: Razvan Deaconescu <razvand@unikraft.io>
Tested-by: Unikraft CI <monkey@unikraft.io>
GitHub-Closes: #758
uk_thread_create_fn2
uk_thread_set_exited
uk_thread_release
+uk_thread_block_until
uk_thread_block_timeout
uk_thread_block
uk_thread_wake
uk_thread_dtor_t dtor);
void uk_thread_release(struct uk_thread *t);
+void uk_thread_block_until(struct uk_thread *thread, __snsec until);
void uk_thread_block_timeout(struct uk_thread *thread, __nsec nsec);
void uk_thread_block(struct uk_thread *thread);
void uk_thread_wake(struct uk_thread *thread);
uk_free(a, t);
}
-static void uk_thread_block_until(struct uk_thread *thread, __snsec until)
+void uk_thread_block_until(struct uk_thread *thread, __snsec until)
{
unsigned long flags;