From 00e473157ad1759aba846b8420443c59aece253f Mon Sep 17 00:00:00 2001 From: aarzilli Date: Mon, 18 Dec 2017 18:05:05 +0100 Subject: [PATCH] proc/gdbserial: remove dead threads from thread list Fixes #1052 --- pkg/proc/gdbserial/gdbserver.go | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/pkg/proc/gdbserial/gdbserver.go b/pkg/proc/gdbserial/gdbserver.go index ec6f0ef1..7c168ae3 100644 --- a/pkg/proc/gdbserial/gdbserver.go +++ b/pkg/proc/gdbserial/gdbserver.go @@ -577,7 +577,7 @@ func (p *Process) ContinueOnce() (proc.Thread, error) { var err error continueLoop: for { - tu.done = false + tu.Reset() threadID, sig, err = p.conn.resume(sig, &tu) if err != nil { if _, exited := err.(proc.ProcessExitedError); exited { @@ -981,6 +981,11 @@ type threadUpdater struct { done bool } +func (tu *threadUpdater) Reset() { + tu.done = false + tu.seen = nil +} + func (tu *threadUpdater) Add(threads []string) error { if tu.done { panic("threadUpdater: Add after Finish")