Details
-
Sub-task
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
None
Description
When sending a queue event from queueEvents, we acquire the read lock again.
objects.(*Queue).IsManaged { sq.RLock() } <<<<< objects.(*Queue).IsManaged { func (sq *Queue) IsManaged() bool { } objects.(*queueEvents).sendRemoveQueueEvent { } } objects.(*Queue).RemoveQueue { sq.queueEvents.sendRemoveQueueEvent() } scheduler.(*partitionManager).cleanQueues { // all OK update the queue hierarchy and partition } scheduler.(*partitionManager).cleanQueues { if children := queue.GetCopyOfChildren(); len(children) != 0 { } scheduler.(*partitionManager).cleanRoot { manager.cleanQueues(manager.pc.root) }
RemoveQueue() already has the read lock.
Attachments
Issue Links
- links to