mirror of
https://github.com/genodelabs/genode.git
synced 2025-01-29 15:44:02 +00:00
libc: remove Reconstructible / use local_submit in kernel
This commit is contained in:
parent
acb6bbb649
commit
424ed1b79a
@ -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();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -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.
|
||||
*/
|
||||
|
Loading…
x
Reference in New Issue
Block a user