From db45f2767187a44227fe8bd4c680cdcbd53cc489 Mon Sep 17 00:00:00 2001 From: Jakob Unterwurzacher Date: Tue, 27 Feb 2018 09:58:14 +0100 Subject: [PATCH] ctlsock: don't Warn() on closed socket This Warn() is causing panics in the test suite on MacOS: https://github.com/rfjakob/gocryptfs/issues/213 --- internal/ctlsock/ctlsock_serve.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/ctlsock/ctlsock_serve.go b/internal/ctlsock/ctlsock_serve.go index efa72c7..0fd0993 100644 --- a/internal/ctlsock/ctlsock_serve.go +++ b/internal/ctlsock/ctlsock_serve.go @@ -60,10 +60,10 @@ func (ch *ctlSockHandler) acceptLoop() { for { conn, err := ch.socket.Accept() if err != nil { - // TODO Can this warning trigger when the socket it closed on - // program exit? I have never observed it, but the documentation - // says that Close() unblocks Accept(). - tlog.Warn.Printf("ctlsock: Accept error: %v", err) + // This can trigger on program exit with "use of closed network connection". + // Special-casing this is hard due to https://github.com/golang/go/issues/4373 + // so just don't use tlog.Warn to not cause panics in the tests. + tlog.Info.Printf("ctlsock: Accept error: %v", err) break } go ch.handleConnection(conn.(*net.UnixConn))