[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CABV8kRwP8g+y862bPhghEfCFAeDqd9fxR1EjHoJNwq5JnJx8Gg@mail.gmail.com>
Date: Thu, 18 Aug 2016 13:37:02 -0400
From: Keno Fischer <keno@...iacomputing.com>
To: Oleg Nesterov <oleg@...hat.com>
Cc: Roland McGrath <roland@...k.frob.com>,
linux-kernel@...r.kernel.org, Tejun Heo <tj@...nel.org>
Subject: Re: ptrace group stop signal number not reset before PTRACE_INTERRUPT
is delivered?
On Thu, Aug 18, 2016 at 12:23 PM, Oleg Nesterov <oleg@...hat.com> wrote:
>
> And you if you get PTRACE_EVENT_STOP and WSTOPSIG() == SIGTTIN after
> PTRACE_INTERRUPT, you know that the tracee did not report the "new"
> SIGTTIN.
It seems possible to remember whether or not we injected a stopping
signal and if so the next PTRACE_EVENT_STOP is a group-stop, otherwise
a PTRACE_INTERRUPT stop. Currently what I do is the other way around,
after issuing PTRACE_INTERRUPT, the first (if any) of the next two
stops that is a PTRACE_EVENT_STOP get interpreted as a
PTRACE_INTERRUPT stop. I haven't thought through this fully yet, so I
can't give you a concrete example I worried about, it just seems
fragile compared to just checking whether WSTOPSIG() == SIGTRAP.
Powered by blists - more mailing lists