Hi Christian, thanks for these hints. I have logged the signals and SIGCHLD is received directly before the occurrence of the warning so I suspect that this is the problematic signal. I also set up a signal handler to catch all other signals and it only logged the according signal number.
Regards, Johannes Am 12.01.2018 um 16:32 schrieb Christian Helmuth: > Hello Johannes, > > On Fri, Jan 12, 2018 at 01:09:25PM +0100, Johannes Kliemann wrote: >> Why does Genode handle -EINTR with an exception and not the way proposed >> in the GNU manual? > > We use the Linux signal mechanism with signal SIGUSR1 to implement our > cancelable lock. So, if a thread is unblocked with the EINTR error it > reflects the cancellation by throwing this exception. Core's initial > thread is unblocked only once by this mechanism and then blocks in > > ./base/src/core/signal_receiver.cc:41:void > Signal_receiver::block_for_signal() > > Did you find out which signal occurred in core? We setup several > signal handlers for fatal signals (e.g., SIGSEGV) that log diagnostic > info and also > > src/core/thread_linux.cc:45 SIGUSR1 > ./src/core/platform.cc:95 SIGINT > ./src/core/platform.cc:98 SIGCHLD > > You could try to setup more handlers this way and log signal > occurrence. > > Cheers > ------------------------------------------------------------------------------ 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