diff --git a/process.c b/process.c index f7af1968..8af960a0 100644 --- a/process.c +++ b/process.c @@ -618,6 +618,7 @@ sys_clone(tcp) struct tcb *tcp; { if (exiting(tcp)) { + const char *sep = "|"; unsigned long flags = tcp->u_arg[ARG_FLAGS]; tprintf("child_stack=%#lx, ", tcp->u_arg[ARG_STACK]); # ifdef ARG_STACKSIZE @@ -626,9 +627,10 @@ struct tcb *tcp; tcp->u_arg[ARG_STACKSIZE]); # endif tprintf("flags="); - printflags(clone_flags, flags &~ CSIGNAL, NULL); + if (!printflags(clone_flags, flags &~ CSIGNAL, NULL)) + sep = ""; if ((flags & CSIGNAL) != 0) - tprintf("|%s", signame(flags & CSIGNAL)); + tprintf("%s%s", sep, signame(flags & CSIGNAL)); if ((flags & (CLONE_PARENT_SETTID|CLONE_CHILD_SETTID |CLONE_CHILD_CLEARTID|CLONE_SETTLS)) == 0) return 0;