On 05/24, Deepa Dinamani wrote:
I think you are misunderstanding what I said.
probably. Everything was very confusing to me from the very beginning. And yes, I can hardly understand your emails, sorry. This one too :/
You are taking things out of context. I was saying here what I did was inspired by why the syscall was designed to begin with.
which syscall?
The syscall below refers to epoll_wait and not epoll_pwait.
So you tried to explain why epoll_pwait() was designed? Or what?
Either way, everything I said below still looks right to me. This probably means that I still can't understand you.
But this is irrelevant. My main point is that the kernel was correct before 854a6ed568 ("signal: Add restore_user_sigmask()"), the (incomplete) patch I sent tries to a) restore the correct behaviour and b) simplify/cleanup the code.
On Fri, May 24, 2019 at 7:19 AM Oleg Nesterov oleg@redhat.com wrote:
On 05/23, Deepa Dinamani wrote:
- block the signals you don't care about.
- syscall()
- unblock the signals blocked in 1.
and even this part of your email is very confusing. because in this case we can never miss a signal. I'd say
1. block the signals you don't care about 2. unblock the signals which should interrupt the syscall below 3. syscall() 4. block the signals unblocked in 2.
Oleg.