base-linux: reflect SIGCHLD as Cpu_session signal

With this patch, core responds to SIGCHLD signals of terminating Genode
processes by reflecting these events as exceptions to the CPU session
interface. This way, Genode processes become able to respond to
terminating Genode child processes.
This commit is contained in:
Norman Feske
2013-01-03 16:23:11 +01:00
parent 38272b9172
commit 693d657e6a
9 changed files with 170 additions and 28 deletions

View File

@ -26,20 +26,20 @@ namespace Genode {
struct Pager_object
{
Thread_capability _thread_cap;
Thread_capability _thread_cap;
Signal_context_capability _sigh;
virtual ~Pager_object() { }
void exception_handler(Signal_context_capability) { }
void exception_handler(Signal_context_capability sigh) { _sigh = sigh; }
public:
/**
* Remember thread cap so that rm_session can tell thread that
* rm_client is gone.
*/
Thread_capability thread_cap() { return _thread_cap; } const
void thread_cap(Thread_capability cap) { _thread_cap = cap; }
/**
* Remember thread cap so that rm_session can tell thread that
* rm_client is gone.
*/
Thread_capability thread_cap() { return _thread_cap; } const
void thread_cap(Thread_capability cap) { _thread_cap = cap; }
};
class Pager_activation_base { };