Messages in this thread | | | From | David Laight <> | Subject | RE: [PATCH -mm 0/1] signal: simplify set_user_sigmask/restore_user_sigmask | Date | Thu, 6 Jun 2019 11:29:49 +0000 |
| |
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)
| |