diff --git a/internal/handshake/crypto_setup.go b/internal/handshake/crypto_setup.go index 9ce120888..479514ee8 100644 --- a/internal/handshake/crypto_setup.go +++ b/internal/handshake/crypto_setup.go @@ -499,7 +499,11 @@ func (h *cryptoSetup) handlePostHandshakeMessage() { }() if err := h.conn.HandlePostHandshakeMessage(); err != nil { - h.onError(<-alertChan, err.Error()) + select { + case <-h.closeChan: + case alert := <-alertChan: + h.onError(alert, err.Error()) + } } }