From 662dd0f910150228ba93096d77637f697c2c3ed7 Mon Sep 17 00:00:00 2001 From: Sebastien Douheret Date: Wed, 30 Aug 2017 18:29:00 +0200 Subject: Don't try to send signal while gdb is not started. --- gdb-xds.go | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'gdb-xds.go') diff --git a/gdb-xds.go b/gdb-xds.go index bb8ad2f..22e13ed 100644 --- a/gdb-xds.go +++ b/gdb-xds.go @@ -76,6 +76,9 @@ func (g *GdbXds) SetConfig(name string, value interface{}) error { // Init initializes gdb XDS func (g *GdbXds) Init() (int, error) { + // Reset command ID (also used to enable sending of signals) + g.cmdID = "" + // Define HTTP and WS url baseURL := g.uri if !strings.HasPrefix(g.uri, "http://") { @@ -167,6 +170,7 @@ func (g *GdbXds) Close() error { g.cbOnExit = nil g.cbRead = nil g.cbInferiorRead = nil + g.cmdID = "" return nil } @@ -285,6 +289,10 @@ func (g *GdbXds) Write(args ...interface{}) error { // SendSignal is used to send a signal to remote process/gdb func (g *GdbXds) SendSignal(sig os.Signal) error { + if g.cmdID == "" { + return fmt.Errorf("cmdID not set") + } + var body []byte body, err := json.Marshal(apiv1.ExecSignalArgs{ CmdID: g.cmdID, -- cgit 1.2.3-korg