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 };
Reconstructible<Io_signal_handler<Kernel>> _resume_main_handler {
Io_signal_handler<Kernel> _resume_main_handler {
_env.ep(), *this, &Kernel::_resume_main };
jmp_buf _kernel_context;
@ -275,7 +275,7 @@ struct Libc::Kernel final : Vfs::Io_response_handler,
Monitor::Pool _monitors { *this };
Reconstructible<Io_signal_handler<Kernel>> _execute_monitors {
Io_signal_handler<Kernel> _execute_monitors {
_env.ep(), *this, &Kernel::_monitors_handler };
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())
_resume_main();
else
Signal_transmitter(*_resume_main_handler).submit();
_resume_main_handler.local_submit();
}
_pthreads.resume_all();
@ -573,7 +573,7 @@ struct Libc::Kernel final : Vfs::Io_response_handler,
if (_main_context())
_monitors_handler();
else
_execute_monitors->local_submit();
_execute_monitors.local_submit();
}
/**
@ -615,7 +615,7 @@ struct Libc::Kernel final : Vfs::Io_response_handler,
if (_main_context())
_resume_main();
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
* 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
* that needs to be released before the thread can be destroyed.
*/