libc: remove Reconstructible / use local_submit in kernel

This commit is contained in:
Christian Helmuth 2021-12-07 09:02:50 +01:00
parent acb6bbb649
commit 424ed1b79a
2 changed files with 6 additions and 6 deletions

View File

@ -198,7 +198,7 @@ struct Libc::Kernel final : Vfs::Io_response_handler,
Atexit _atexit { _heap }; Atexit _atexit { _heap };
Reconstructible<Io_signal_handler<Kernel>> _resume_main_handler { Io_signal_handler<Kernel> _resume_main_handler {
_env.ep(), *this, &Kernel::_resume_main }; _env.ep(), *this, &Kernel::_resume_main };
jmp_buf _kernel_context; jmp_buf _kernel_context;
@ -275,7 +275,7 @@ struct Libc::Kernel final : Vfs::Io_response_handler,
Monitor::Pool _monitors { *this }; Monitor::Pool _monitors { *this };
Reconstructible<Io_signal_handler<Kernel>> _execute_monitors { Io_signal_handler<Kernel> _execute_monitors {
_env.ep(), *this, &Kernel::_monitors_handler }; _env.ep(), *this, &Kernel::_monitors_handler };
Monitor::Pool::State _execute_monitors_pending = Monitor::Pool::State::ALL_COMPLETE; Monitor::Pool::State _execute_monitors_pending = Monitor::Pool::State::ALL_COMPLETE;
@ -517,7 +517,7 @@ struct Libc::Kernel final : Vfs::Io_response_handler,
if (_main_context()) if (_main_context())
_resume_main(); _resume_main();
else else
Signal_transmitter(*_resume_main_handler).submit(); _resume_main_handler.local_submit();
} }
_pthreads.resume_all(); _pthreads.resume_all();
@ -573,7 +573,7 @@ struct Libc::Kernel final : Vfs::Io_response_handler,
if (_main_context()) if (_main_context())
_monitors_handler(); _monitors_handler();
else else
_execute_monitors->local_submit(); _execute_monitors.local_submit();
} }
/** /**
@ -615,7 +615,7 @@ struct Libc::Kernel final : Vfs::Io_response_handler,
if (_main_context()) if (_main_context())
_resume_main(); _resume_main();
else else
Signal_transmitter(*_resume_main_handler).submit(); _resume_main_handler.local_submit();
} }
/** /**

View File

@ -132,7 +132,7 @@ struct Libc::Pthread : Noncopyable
/* /*
* The mutex synchronizes the execution of cancel() and join() to * The mutex synchronizes the execution of cancel() and join() to
* protect the about-to-exit pthread to be destructed before it leaves * protect the about-to-exit pthread to be destructed before it leaves
* trigger_monitor_examination(), which uses a 'Signal_transmitter' * trigger_monitor_examination(), which uses 'Signal_context::local_submit()'
* and, therefore, holds a reference to a signal context capability * and, therefore, holds a reference to a signal context capability
* that needs to be released before the thread can be destroyed. * that needs to be released before the thread can be destroyed.
*/ */