lkml.org 
[lkml]   [2003]   [Jan]   [15]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: 2.4.x, can't ptrace a task created with clone() ?
On Wed, Jan 15, 2003 at 04:34:58PM +0000, Daniel Barlow wrote:
>
> Tested with 4.2.20 and 2.4.21-pre3, after PTRACE_ATTACHing to a
> process I created with clone(), wait() returns ECHILD . strace
> of the parent shows
>
> clone(child_stack=0x80599a8, flags=CLONE_VM) = 1292
> rt_sigprocmask(SIG_BLOCK, [CHLD], [], 8) = 0
> rt_sigaction(SIGCHLD, NULL, {SIG_DFL}, 8) = 0
> rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
> nanosleep({5, 0}, {5, 0}) = 0
> ptrace(PTRACE_ATTACH, 1292, 0, 0) = 0
> --- SIGCHLD (Child exited) ---
> wait4(-1, 0xbffffbf0, 0, NULL) = -1 ECHILD (No child processes)
> write(2, "waitpid: No child processes\n", 28) = 28
>
> If I replace the clone in my test program with a fork, everything
> works as I expected. Is this a bug, or are my expectations at fault?
> if the latter, how _do_ I attach to one of my cloned children?

You did attach. But if you want to wait for a cloned child, you need
to use __WCLONE or __WALL.

--
Daniel Jacobowitz
MontaVista Software Debian GNU/Linux Developer
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/

\
 
 \ /
  Last update: 2005-03-22 13:32    [W:0.033 / U:0.032 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site