Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING

!MAILaRCHIVE_VOTE_RePLACE
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]
To: Oleg Nesterov <oleg@...>
Cc: Linus Torvalds <torvalds@...>, Roland McGrath <roland@...>, Andrew Morton <akpm@...>, Martin Schwidefsky <schwidefsky@...>, <linux-s390@...>, <tony.luck@...>, <linux-ia64@...>, <linux-arch@...>, <linux-kernel@...>
Date: Wednesday, April 9, 2008 - 7:16 am

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

--
Previous message: [thread] [date] [author]
Next message: [thread] [date] [author]

Messages in current thread:
[PATCH 1/4] set_restore_sigmask, Roland McGrath, (Fri Mar 28, 8:12 pm)
[PATCH 4/4] ia64 renumber TIF_RESTORE_SIGMASK, Roland McGrath, (Fri Mar 28, 8:14 pm)
[PATCH 3/4] s390 renumber TIF_RESTORE_SIGMASK, Roland McGrath, (Fri Mar 28, 8:14 pm)
Re: [PATCH 3/4] s390 renumber TIF_RESTORE_SIGMASK, Martin Schwidefsky, (Mon Mar 31, 3:53 am)
[PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, Roland McGrath, (Fri Mar 28, 8:13 pm)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, Linus Torvalds, (Fri Mar 28, 8:53 pm)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, Oleg Nesterov, (Tue Apr 8, 7:35 am)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, David Woodhouse, (Wed Apr 9, 7:16 am)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, Oleg Nesterov, (Wed Apr 9, 7:39 am)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, David Woodhouse, (Wed Apr 9, 12:14 pm)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, Oleg Nesterov, (Wed Apr 9, 12:22 pm)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, David Woodhouse, (Wed Apr 9, 2:40 pm)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, Petr Tesarik, (Wed Apr 9, 8:57 am)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, Roland McGrath, (Tue Apr 8, 3:51 pm)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, Linus Torvalds, (Tue Apr 8, 10:53 am)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, Paul Mackerras, (Sun Mar 30, 6:53 am)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, Roland McGrath, (Fri Mar 28, 10:24 pm)
[PATCH 1/2] HAVE_SET_RESTORE_SIGMASK, Roland McGrath, (Fri Mar 28, 11:14 pm)
[PATCH 2/2] x86 TS_RESTORE_SIGMASK, Roland McGrath, (Fri Mar 28, 11:14 pm)
Re: [PATCH 2/2] x86 TS_RESTORE_SIGMASK, Ingo Molnar, (Mon Mar 31, 9:01 am)
Re: [PATCH 2/2] x86 TS_RESTORE_SIGMASK, Roland McGrath, (Mon Mar 31, 3:30 pm)
[PATCH 1/2] HAVE_SET_RESTORE_SIGMASK, Roland McGrath, (Fri Mar 28, 11:11 pm)
Re: [PATCH 1/2] HAVE_SET_RESTORE_SIGMASK, David Woodhouse, (Wed Apr 9, 7:45 am)
Re: [PATCH 1/2] HAVE_SET_RESTORE_SIGMASK, Russell King, (Thu Apr 10, 4:32 pm)
Re: [PATCH 1/2] HAVE_SET_RESTORE_SIGMASK, David Woodhouse, (Fri Apr 11, 9:40 am)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, Linus Torvalds, (Fri Mar 28, 10:52 pm)
Re: [PATCH 2/4] set_restore_sigmask TIF_SIGPENDING, Roland McGrath, (Fri Mar 28, 11:12 pm)