From 057fb53a6ab882a78bded4bca23c87d26ced8e13 Mon Sep 17 00:00:00 2001 From: Ian Campbell Date: Thu, 7 Apr 2016 17:40:14 +0100 Subject: [PATCH] vsudd: Log as we Close both sockets (via defer) Signed-off-by: Ian Campbell --- alpine/packages/vsudd/main.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/alpine/packages/vsudd/main.go b/alpine/packages/vsudd/main.go index 5b0118895..75b22a45a 100644 --- a/alpine/packages/vsudd/main.go +++ b/alpine/packages/vsudd/main.go @@ -106,7 +106,12 @@ func handleOne(connid int, fd int, cid, port uint) { vsock := os.NewFile(uintptr(fd), fmt.Sprintf("vsock:%d", fd)) log.Printf("%d Accepted connection on fd %d from %08x.%08x", connid, fd, cid, port) - defer syscall.Close(fd) + defer func() { + log.Println(connid, "Closing vsock", fd) + if err := syscall.Close(fd) ; err != nil { + log.Println(connid, "Error closing", fd ":", err) + } + }() var docker *net.UnixConn var err error @@ -119,13 +124,18 @@ func handleOne(connid int, fd int, cid, port uint) { } time.Sleep(50 * time.Millisecond) } - defer docker.Close() - if err != nil { // If the forwarding program has broken then close and continue log.Println(connid, "Failed to connect to Unix domain socket after 10s", sock, err) return } + defer func() { + log.Println(connid, "Closing docker", docker) + if err := docker.Close() ; err != nil { + log.Println(connid, "Error closing", docker, ":", err) + } + }() + log.Println(connid, "Connected to docker", docker) w := make(chan int64) go func() {