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
This commit is contained in:
Jakob Unterwurzacher 2018-02-27 09:58:14 +01:00
parent 5fcfd30ddc
commit db45f27671

View File

@ -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))