Hi all,

When running Genode on Linux as PID 1 I get the warning `blocking
canceled in entrypoint constructor`. This seems to happen only when
running as init process. When I run the same configuration on Linux with
the usual user land this doesn't happen. I have also applied the patch
to [1] (I have tested this on 17.11 where it is applied anyway).
Changing the underlying Linux kernel did not help.

I could trace the issue to repos/base-linux/src/lib/base/ipc.cc:421 [2]
where lx_recvmsg returns -EINTR. The proposed way to handle this error
according to the GNU reference [3] is to retry the syscall. Yet Genode
does not and throws an exception.

Is there any signal that only the init process receives that isn't
handled properly in Genode (sorry if this is slightly off-topic)?

Why does Genode handle -EINTR with an exception and not the way proposed
in the GNU manual?

Regards,
Johannes Kliemann

[1]: https://github.com/genodelabs/genode/issues/2521
[2]:
https://github.com/genodelabs/genode/blob/f44edd407bf674bfad11accad8319d5f66110b44/repos/base-linux/src/lib/base/ipc.cc#L421
[3]:
https://www.gnu.org/software/libc/manual/html_node/Interrupted-Primitives.html#Interrupted-Primitives

------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
genode-main mailing list
genode-main@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/genode-main

Reply via email to