diff --git a/modules/queue/queue_disk_channel.go b/modules/queue/queue_disk_channel.go index 895c8ce91..6bb5a1be9 100644 --- a/modules/queue/queue_disk_channel.go +++ b/modules/queue/queue_disk_channel.go @@ -6,6 +6,7 @@ package queue import ( "context" + "sync" "time" "code.gitea.io/gitea/modules/log" @@ -33,6 +34,7 @@ type PersistableChannelQueueConfiguration struct { type PersistableChannelQueue struct { *ChannelQueue delayedStarter + lock sync.Mutex closed chan struct{} } diff --git a/modules/queue/queue_wrapped.go b/modules/queue/queue_wrapped.go index 0e948bae2..c52e6e467 100644 --- a/modules/queue/queue_wrapped.go +++ b/modules/queue/queue_wrapped.go @@ -28,7 +28,6 @@ type WrappedQueueConfiguration struct { } type delayedStarter struct { - lock sync.Mutex internal Queue underlying Type cfg interface{} @@ -89,6 +88,7 @@ func (q *delayedStarter) setInternal(atShutdown func(context.Context, func()), h // WrappedQueue wraps a delayed starting queue type WrappedQueue struct { delayedStarter + lock sync.Mutex handle HandlerFunc exemplar interface{} channel chan Data