From 580ce459ad63b435c126fbce283042f4f0cfdc1c Mon Sep 17 00:00:00 2001 From: Thomas Parrott Date: Tue, 27 Jun 2023 21:35:16 +0100 Subject: [PATCH 1/2] qmp/socket: go fmt Signed-off-by: Thomas Parrott --- qmp/socket.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/qmp/socket.go b/qmp/socket.go index 383b575..b8b23d4 100644 --- a/qmp/socket.go +++ b/qmp/socket.go @@ -266,7 +266,7 @@ func (mon *SocketMonitor) RunWithFile(command []byte, file *os.File) ([]byte, er type banner struct { QMP struct { Capabilities []string `json:"capabilities"` - Version Version `json:"version"` + Version Version `json:"version"` } `json:"QMP"` } From f911ede0006740c506532206a6959391f4d98776 Mon Sep 17 00:00:00 2001 From: Thomas Parrott Date: Tue, 27 Jun 2023 21:38:22 +0100 Subject: [PATCH 2/2] qmp/socket: Only wait for mon.stream to be closed in Disconnect if initialised This allows Disconnect() to be called as a way to cancel a Connect() call. Without Disconnect() blocking forever reading from a nil channel. Fixes #200 Signed-off-by: Thomas Parrott --- qmp/socket.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/qmp/socket.go b/qmp/socket.go index b8b23d4..c929a77 100644 --- a/qmp/socket.go +++ b/qmp/socket.go @@ -104,7 +104,9 @@ func (mon *SocketMonitor) Disconnect() error { atomic.StoreInt32(mon.listeners, 0) err := mon.c.Close() - for range mon.stream { + if mon.stream != nil { + for range mon.stream { + } } return err