From 2f9ec2117f7579fb34e90e2644e602dca2240ad5 Mon Sep 17 00:00:00 2001 From: Raja Subramanian Date: Tue, 6 Feb 2024 19:01:24 +0530 Subject: [PATCH] Do not enqueue after stop. (#2457) Else, that could leak as the process routine may have exited and the entries are not processed anywhere. --- pkg/utils/opsqueue.go | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/utils/opsqueue.go b/pkg/utils/opsqueue.go index 01f9a12ff..30dbbe1ec 100644 --- a/pkg/utils/opsqueue.go +++ b/pkg/utils/opsqueue.go @@ -75,8 +75,12 @@ func (oq *OpsQueue) Enqueue(op func()) { oq.lock.Lock() defer oq.lock.Unlock() + if oq.isStopped { + return + } + oq.ops.PushBack(op) - if oq.ops.Len() == 1 && !oq.isStopped { + if oq.ops.Len() == 1 { select { case oq.wake <- struct{}{}: default: