RE: [PATCH -mm 0/1] signal: simplify set_user_sigmask/restore_user_sigmask

From: David Laight
Date: Thu Jun 06 2019 - 07:33:59 EST


From: Oleg Nesterov
> Sent: 06 June 2019 12:05
> On 06/06, David Laight wrote:
> >
> > If a signal handler is called, I presume that the trampoline
> > calls back into the kernel to get further handlers called
> > and to finally restore the original signal mask?
>
> See sigmask_to_save(), this is what the kernel records in uc.uc_sigmask
> before the signal handler runs, after that current->saved_sigmask has no
> meaning.

Some of this code is hard to grep through :-)

> When signal handler returns it does sys_rt_sigreturn() which restores
> the original mask saved in uc_sigmask.

Does that mean that if 2 signals interrupt epoll_wait() only
one of the signal handlers is run?

David

-
Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK
Registration No: 1397386 (Wales)