Commit 31970780 authored by derekwaynecarr's avatar derekwaynecarr

Fix resource quota controller shutting down its worker threads

parent ff4a5e20
...@@ -163,11 +163,10 @@ func (rq *ResourceQuotaController) enqueueResourceQuota(obj interface{}) { ...@@ -163,11 +163,10 @@ func (rq *ResourceQuotaController) enqueueResourceQuota(obj interface{}) {
// worker runs a worker thread that just dequeues items, processes them, and marks them done. // worker runs a worker thread that just dequeues items, processes them, and marks them done.
// It enforces that the syncHandler is never invoked concurrently with the same key. // It enforces that the syncHandler is never invoked concurrently with the same key.
func (rq *ResourceQuotaController) worker() { func (rq *ResourceQuotaController) worker() {
for { workFunc := func() bool {
func() {
key, quit := rq.queue.Get() key, quit := rq.queue.Get()
if quit { if quit {
return return true
} }
defer rq.queue.Done(key) defer rq.queue.Done(key)
err := rq.syncHandler(key.(string)) err := rq.syncHandler(key.(string))
...@@ -175,7 +174,13 @@ func (rq *ResourceQuotaController) worker() { ...@@ -175,7 +174,13 @@ func (rq *ResourceQuotaController) worker() {
utilruntime.HandleError(err) utilruntime.HandleError(err)
rq.queue.Add(key) rq.queue.Add(key)
} }
}() return false
}
for {
if quit := workFunc(); quit {
glog.Infof("resource quota controller worker shutting down")
return
}
} }
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment