Messages in this thread |  | | Date | Mon, 23 May 2011 15:34:26 +0200 | | From | Oleg Nesterov <> | | Subject | Re: [PATCH 10/10] ptrace: implement group stop notification for ptracer |
| |
On 05/20, Tejun Heo wrote: > > 1. A process has two threads t1 and t2. t1 is ptraced by p1. Both t1 > and t2 are running. > > 2. p1 INTERRUPTs t1. t1 enters TRAP_STOP and p1 notices it. > > 3. Something else sends SIGSTOP to t2 which initiates group stop. > > 4. As t1 re-traps to notify p1 of group stop, p1 issues PTRACE_CONT. > > 5. PTRACE_CONT succeeds right after t1 re-traps for notification and > t1 resumes execution.
IOW. The root of the problem is that TASK_TRACED no longer means the tracee is stopped, it can change its state and the "volatile" info in si_pt_flags reflects this fact.
This makes me nervous ;) Yes, we hide the TRACED->RUNNING->TRACED transitions, and I have to agree that the proposed API looks consistent to me. Still, can't we do this differently ? (see another email).
Oleg.
|  |