Blob Blame History Raw
diff -Nrup a/strace.c b/strace.c
--- a/strace.c	2013-07-17 14:39:50.603696069 -0600
+++ b/strace.c	2013-07-17 14:43:27.625962443 -0600
@@ -2184,6 +2184,11 @@ handle_stopped_tcbs(struct tcb *tcp)
 		status = tcp->wait_status;
 		pid = tcp->pid;
 
+		/* we must re-fetch all registers for each pid in list */
+		clear_regs();
+		if (WIFSTOPPED(status))
+			get_regs(pid);
+
                 event = ((unsigned)status >> 16);
 		if (WIFSIGNALED(status)) {
 			if (pid == strace_child)