Messages in this thread | | | Date | Thu, 12 May 2011 18:07:09 +0200 | From | Tejun Heo <> | Subject | Re: [PATCH 10/11] ptrace: move JOBCTL_TRAPPING wait to wait(2) and ptrace_check_attach() |
| |
Hey,
On Thu, May 12, 2011 at 05:59:10PM +0200, Oleg Nesterov wrote: > > I don't know. Why is retrying hairy? The whole waiting logic is > > built for clean retries. The suggested change just does it without > > intervening sleeping and waking up. I don't see anything particularly > > hairy there. > > As always, this is subjective. But I didn't mean -EAGAIN itself. In fact > I was going to add this (simple) logic some time ago and kill the EXIT_DEAD > state. Hmm, and I'd still like to do this...
Oh, I've been updating code and it's now using interruptible sleep + -ERESTARTNOINTR return. It's simpler and the freezer problem is gone too.
> I meant the whole ptrace_wait_trapping() + lock dance + retry thing. > But of course I do not pretend my feeling is right.
Yeah, it's more complex than I would have liked. The problem is that ptrace(2) isn't really equipped with facilities to handle async events, so it's a bit painful to add async mechanism into the existing mechanics, but most problems seem solvable.
> Also. _Perhaps_ we can rethink the SIGCONT trapping, and perhaps in > this case do_wait() won't need any changes. May be.
But, if there's a better way, sure.
Thanks.
-- tejun
| |