unwind: call unwind_tcb_fin before printing detached message
captured stacktrace is printed in unwind_tcb_fin if tcp->queue is not empty. This should happen before printing detached message, so unwind_tcb_fin is moved to the top of droptcb. This is implicitly suggested by Dmitry Levin in patch review process. Signed-off-by: Masatake YAMATO <yamato@redhat.com>
This commit is contained in:
parent
9bc6561588
commit
2b09df9731
11
strace.c
11
strace.c
@ -724,6 +724,12 @@ droptcb(struct tcb *tcp)
|
||||
if (tcp->pid == 0)
|
||||
return;
|
||||
|
||||
#ifdef USE_LIBUNWIND
|
||||
if (stack_trace_enabled) {
|
||||
unwind_tcb_fin(tcp);
|
||||
}
|
||||
#endif
|
||||
|
||||
nprocs--;
|
||||
if (debug_flag)
|
||||
fprintf(stderr, "dropped tcb for pid %d, %d remain\n", tcp->pid, nprocs);
|
||||
@ -745,11 +751,6 @@ droptcb(struct tcb *tcp)
|
||||
if (printing_tcp == tcp)
|
||||
printing_tcp = NULL;
|
||||
|
||||
#ifdef USE_LIBUNWIND
|
||||
if (stack_trace_enabled) {
|
||||
unwind_tcb_fin(tcp);
|
||||
}
|
||||
#endif
|
||||
memset(tcp, 0, sizeof(*tcp));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user