func (t *Thread) halt() (err error) { err = sys.Tgkill(t.dbp.Pid, t.Id, sys.SIGSTOP) if err != nil { err = fmt.Errorf("halt err %s on thread %d", err, t.Id) return } _, _, err = t.dbp.wait(t.Id, 0) if err != nil { err = fmt.Errorf("wait err %s on thread %d", err, t.Id) return } return }
func (t *Thread) Halt() error { if stopped(t.Id) { return nil } err := sys.Tgkill(t.dbp.Pid, t.Id, sys.SIGSTOP) if err != nil { return fmt.Errorf("halt err %s on thread %d", err, t.Id) } _, _, err = wait(t.Id, t.dbp.Pid, 0) if err != nil { return fmt.Errorf("wait err %s on thread %d", err, t.Id) } t.running = false return nil }