diff -Nrup a/strace.c b/strace.c --- a/strace.c 2015-04-22 12:48:38.000000000 -0600 +++ b/strace.c 2015-04-22 14:43:41.639193569 -0600 @@ -1928,7 +1928,7 @@ collect_stopped_tcbs(void) nextp = &found_tcps; found_tcps = NULL; - while (nprocs != 0) { + while (1) { int wait_errno; int status; unsigned event; @@ -2398,7 +2398,7 @@ trace(void) int rc; struct tcb *tcbs; - while (nprocs != 0) { + while (1) { if (interrupted) return 0; tcbs = collect_stopped_tcbs();