Set strace_child only in the right branch

"strace_child = pid" assignment was racing in NOMMU case
because of vfork (no way to know which process would win).

After this change, strace_child is set to nonzero only
in one process after [v]fork.

Signed-off-by: Denys Vlasenko <dvlasenk@redhat.com>
This commit is contained in:
Denys Vlasenko 2013-06-26 14:27:11 +02:00
parent fadbf6679c
commit e8681c926c

View File

@ -1204,7 +1204,7 @@ startup_child(char **argv)
prctl(PR_SET_PTRACER, PR_SET_PTRACER_ANY);
#endif
strace_child = pid = fork();
pid = fork();
if (pid < 0) {
perror_msg_and_die("fork");
}
@ -1221,6 +1221,7 @@ startup_child(char **argv)
/* We are the tracer */
if (!daemonized_tracer) {
strace_child = pid;
if (!use_seize) {
/* child did PTRACE_TRACEME, nothing to do in parent */
} else {