diff --git a/pkg/apiserver/auditing/backend.go b/pkg/apiserver/auditing/backend.go index 07683fcb2..ab148eb02 100644 --- a/pkg/apiserver/auditing/backend.go +++ b/pkg/apiserver/auditing/backend.go @@ -141,6 +141,7 @@ func (b *Backend) sendEvents(events *v1alpha1.EventList) { defer cancel() stopCh := make(chan struct{}) + skipReturnSender := false send := func() { ctx, cancel := context.WithTimeout(context.Background(), b.getSenderTimeout) @@ -149,6 +150,7 @@ func (b *Backend) sendEvents(events *v1alpha1.EventList) { select { case <-ctx.Done(): klog.Error("Get auditing event sender timeout") + skipReturnSender = true return case b.senderCh <- struct{}{}: } @@ -183,7 +185,9 @@ func (b *Backend) sendEvents(events *v1alpha1.EventList) { go send() defer func() { - <-b.senderCh + if !skipReturnSender { + <-b.senderCh + } }() select {