From 318fec27de17ee6a8df7f848ee1c1b01d375a1f7 Mon Sep 17 00:00:00 2001 From: Cuong Manh Le Date: Fri, 3 Feb 2023 22:44:27 +0700 Subject: [PATCH] cmd/ctrld: fatal loudly if listen failed For address already in use error when listening, we have a workaround to spawn a new listener on different port. However, if that case does not match, we must fatal to notice the error to user. --- cmd/ctrld/prog.go | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/cmd/ctrld/prog.go b/cmd/ctrld/prog.go index d0de5f8..b8e22bd 100644 --- a/cmd/ctrld/prog.go +++ b/cmd/ctrld/prog.go @@ -119,6 +119,9 @@ func (p *prog) run() { proxyLog.Fatal().Err(err).Msgf("Unable to start dns proxy on listener.%s", listenerNum) return } + if err == nil { + return + } if opErr, ok := err.(*net.OpError); ok { if sErr, ok := opErr.Err.(*os.SyscallError); ok && errors.Is(opErr.Err, syscall.EADDRINUSE) || errors.Is(sErr.Err, errWindowsAddrInUse) { @@ -159,6 +162,7 @@ func (p *prog) run() { } } } + proxyLog.Fatal().Err(err).Msgf("Unable to start dns proxy on listener.%s", listenerNum) }(listenerNum) }