From 8d9b10a2593ce273ecc6fd943d8a12af84c7ae90 Mon Sep 17 00:00:00 2001 From: Haruue Date: Thu, 11 Apr 2024 23:07:44 +0800 Subject: [PATCH] fix(proxymux): close of closed channel when call listener.Close() twice --- app/internal/proxymux/mux.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/internal/proxymux/mux.go b/app/internal/proxymux/mux.go index 4070e13..2d94a76 100644 --- a/app/internal/proxymux/mux.go +++ b/app/internal/proxymux/mux.go @@ -248,6 +248,11 @@ func (l *subListener) Addr() net.Addr { // Close implements net.Listener.Close. // Upstream should use close(l.acceptChan) instead. func (l *subListener) Close() error { + select { + case <-l.closeChan: + return nil + default: + } close(l.closeChan) return nil }