Re: vfork

Linus Torvalds (torvalds@transmeta.com)
Wed, 10 Nov 1999 11:00:28 -0800 (PST)


On 10 Nov 1999, Kai Henningsen wrote:
>
> This is from the man page:
>
> .B \-f
> Trace child processes as they are created by currently traced
> processes as a result of the
> .BR fork (2)
> system call. The new process is
> attached to as soon as its pid is known (through the return value of
> .BR fork (2)
> in the parent process). This means that such children may run
> uncontrolled for a while (especially in the case of a
> .BR vfork (2)),
> until the parent is scheduled again to complete its
> .RB ( v ) fork (2)
> call.

Ok.

That pretty much sucks, as it makes it pretty much inpossible to strace a
normal fork() on SMP machines.

Sounds like the correct fix is not vfork()-related at all, but rather a
flag to clone() to set "trace child process", so that the new child starts
out stopped and traced. And some way for strace to get at the child pid.

Linus

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/