From 8185979ca4bb25672d23fdcdb6f6b8f5d681f634 Mon Sep 17 00:00:00 2001 From: "Quentin McGaw (desktop)" Date: Fri, 16 Jul 2021 20:11:57 +0000 Subject: [PATCH] Fix: deadlock on dns shutdown when starting up --- internal/dns/loop.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/internal/dns/loop.go b/internal/dns/loop.go index 0e6c2200..8f6a6a8e 100644 --- a/internal/dns/loop.go +++ b/internal/dns/loop.go @@ -96,7 +96,10 @@ func (l *looper) logAndWait(ctx context.Context, err error) { func (l *looper) signalOrSetStatus(userTriggered *bool, status models.LoopStatus) { if *userTriggered { *userTriggered = false - l.running <- status + select { + case l.running <- status: + default: // receiver droppped out - avoid deadlock on events routing when shutting down + } } else { l.state.SetStatus(status) }