Fix workqueue memory leak

This commit is contained in:
xuzhonghu 2021-09-14 09:53:53 +08:00
parent 9c147baa70
commit 25060beef0

View File

@ -161,7 +161,10 @@ func (q *Type) Get() (item interface{}, shutdown bool) {
return nil, true
}
item, q.queue = q.queue[0], q.queue[1:]
item = q.queue[0]
// The underlying array still exists and reference this object, so the object will not be garbage collected.
q.queue[0] = nil
q.queue = q.queue[1:]
q.metrics.get(item)