On Tue, 2008-04-08 at 15:35 +0400, Oleg Nesterov wrote:Q: When ppoll() is interrupted by a signal, what signal mask should be active when the signal handler is active? I believe that the signal handler should run with the temporary sigmask which was set by ppoll(), and the original sigmask should be restored only when the handler completes -- and that's what we achieve with TIF_RESTORE_SIGMASK. So a signal which was originally enabled but is temporarily disabled by the mask passed to ppoll() will not be able to interrupt the handler for the signal which interrupted ppoll(). Your version will restore the original signal mask _before_ invoking the signal handler which interrupted ppoll() -- which I believe is not the intended semantics. And IIRC that was the whole point in implementing ppoll() in kernel rather than trying to emulate it in userspace in the first place. -- dwmw2 --
| Greg Kroah-Hartman | [PATCH 004/196] Chinese: add translation of SubmittingPatches |
| Tarkan Erimer | Re: Dual-Licensing Linux Kernel with GPL V2 and GPL V3 |
| Matt Mackall | Re: [PATCH] x86: fix unconditional arch/x86/kernel/pcspeaker.c compiling |
| James Bottomley | Re: Integration of SCST in the mainstream Linux kernel |
| Gerrit Renker | [PATCH 27/37] dccp: Integration of dynamic feature activation - part 2 (server side) |
| David Miller | [GIT]: Networking |
| Jarek Poplawski | [PATCH] pkt_sched: Destroy gen estimators under rtnl_lock(). |
| Natalie Protasevich | [BUG] New Kernel Bugs |
git: | |
