[kernel] Add object_wait_many syscall

Add the object_wait_many syscall to allow programs to wait for signals
on multiple objects at once. Also removed the object argument to
thread::wait_on_signals, which does nothing with it. That information is
saved in the thread being in the object's blocked threads list.
This commit is contained in:
Justin C. Miller
2021-05-29 19:57:47 -07:00
parent 9fbbd8b954
commit c07c39f8ed
8 changed files with 77 additions and 18 deletions

View File

@@ -48,7 +48,7 @@ thread & thread::current() { return *current_cpu().thread; }
inline void schedule_if_current(thread *t) { if (t == current_cpu().thread) scheduler::get().schedule(); }
void
thread::wait_on_signals(kobject *obj, j6_signal_t signals)
thread::wait_on_signals(j6_signal_t signals)
{
m_wait_type = wait_type::signal;
m_wait_data = signals;