MCPcopy Create free account
hub / github.com/Bananymous/banan-os / wait_while_stopped

Method wait_while_stopped

kernel/kernel/Process.cpp:3157–3174  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3155 .si_addr = nullptr,
3156 .si_status = __WGENEXITCODE(0, signal),
3157 .si_band = 0,
3158 .si_value = { .sival_int = 0 },
3159 });
3160
3161 if (!parent->m_threads.empty())
3162 Processor::scheduler().unblock_thread(parent->m_threads.front());
3163 }
3164 }
3165
3166 void Process::wait_while_stopped()
3167 {
3168 if (!m_stopped) [[likely]]
3169 return;
3170
3171 for (;;)
3172 {
3173 while (Thread::current().will_exit_because_of_signal())
3174 Thread::current().handle_signal_if_interrupted();
3175
3176 SpinLockGuard guard(m_signal_lock);
3177 if (!m_stopped)

Callers 1

cpp_syscall_handlerFunction · 0.80

Calls 3

block_indefiniteMethod · 0.80

Tested by

no test coverage detected