[PATCH/v2 2/2] Handle followfork using ptrace_setoptions if available
Wang Chao
wang.chao at cn.fujitsu.com
Thu Oct 7 02:45:24 UTC 2010
Sent on 2010-10-7 10:31, Wang Chao wrote:
> internal_fork(struct tcb *tcp)
> {
> + if ((ptrace_setoptions
> + & (PTRACE_O_TRACECLONE | PTRACE_O_TRACEFORK | PTRACE_O_TRACEVFORK))
> + == (PTRACE_O_TRACECLONE | PTRACE_O_TRACEFORK | PTRACE_O_TRACEVFORK))
> + return 0;
> +
Sent on 2010-10-5 12:45, Roland McGrath wrote:
> I don't think you want to skip all of internal_fork.
> e.g. I think fork_tcb is still useful.
>
> I think you just want to conditionalize the setbpt call.
>
Well, in my opinion, we can skip whole internal_fork call safely
here if PTRACE_SETOPTIONS is in charge.
Currently, I think TCB_FOLLOWFORK is used to distinguish the
new forked child and original parent at exit point of fork
syscall. While using PTRACE_SETOPTIONS, new child will be
handled when we revice PTRACE_EVENT_* status and I think no
more work will be needed in internal_fork.
I'm sorry if i don't understand correctly.
Thanks,
Wang Chao
More information about the Strace-devel
mailing list