https://bugs.kde.org/show_bug.cgi?id=372504
--- Comment #25 from Philippe Waroquiers <philippe.waroqui...@skynet.be> --- Looking in m_signals.c : it looks like some special support for sigsuspend/rt_sigsuspend is supported to be done, e.g. using tmp_sig_mast. See a.o. the following comments in m_signals.c:2012 /* At this point: tst->sig_mask is the current signal mask tst->tmp_sig_mask is the same as sig_mask, unless we're in sigsuspend and the declaration of tmp_sig_mask in pub_core_threadstate.h However, in syswrap-linux.c PRE(sys_rt_sigsuspend) (and in the various duplicated PRE(sys_sigsuspened) in syswrap-<platforms>-linux.c and in syswrap-darwin.c, I see nothing that seems to activate such a 'special' sigsuspend plan. It looks like the syscall is just called, without e.g. (at least) removing VKI_SIGVGKILL from the set of masked signals. To the contrary, PRE(sys_sigprocmask) is calling VG_(do_sys_sigprocmask), which calls do_setmask, which touches the thread state sig_mask (later on used by syswrap-main.c when really executing a client syscall). So, it looks like we minimum need to remove VKI_SIGVGKILL from the masked signals when calling sigsuspend. Or maybe we really need a cunning plan with tmp_sig_mask etc for sigsuspend ? -- You are receiving this mail because: You are watching all bug changes.