Hi Denis,
Signal_handler<Main> sigh = {env.ep(), *this, &Main::_handle_fault};
The line above, creates the Signal_handler on the stack and destructs this handler as soon as the 'Main' constructor is finished.
Therefore, 'sigh' should be a member of the 'Main' class.
Regards,
Sebastian
On 08/30/2016 02:10 PM, Denis Huber wrote:
Dear Genode community,
in Genode 16.05 the old usage of Signal_receivers and Signal_contexts is considered deprecated. Instead Signal_handler and Signal_transmitter shall be used.
I am trying to use a Signal_handler as a fault handler for env's address space. I wrote a short test to illustrate the problem [1].
[1] https://github.com/702nADOS/genode-CheckpointRestore-SharedMemory/blob/c9a5a...
The output of [1] is as follows: " [init -> pf-signal_handler] --- pf-signal_handler started --- no RM attachment (WRITE pf_addr=1000 pf_ip=100061c from 2ae000) Genode::Pager_entrypoint::entry()::<lambda(Genode::Pager_object*)>: Could not resolve pf=1000 ip=100061c "
The signal handler was registered correctly, because the line " Genode::Core_pd_session_component::submit(Genode::CapabilityGenode::Signal_context, unsigned int)::<lambda(Genode::Signal_context_component*)>: invalid signal-context capability " is missing. However, the method _handle_fault() is never entered. What am I doing wrong?
Kind regards, Denis
genode-main mailing list genode-main@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/genode-main