defer unlocking podSubscriber for Switchover
This commit is contained in:
		
							parent
							
								
									3641911786
								
							
						
					
					
						commit
						edd5d0a13d
					
				|  | @ -1033,11 +1033,12 @@ func (c *Cluster) processPodEvent(obj interface{}) error { | |||
| 	} | ||||
| 
 | ||||
| 	c.podSubscribersMu.RLock() | ||||
| 	defer c.podSubscribersMu.RUnlock() | ||||
| 
 | ||||
| 	subscriber, ok := c.podSubscribers[spec.NamespacedName(event.PodName)] | ||||
| 	if ok { | ||||
| 		subscriber <- event | ||||
| 	} | ||||
| 	c.podSubscribersMu.RUnlock() | ||||
| 
 | ||||
| 	return nil | ||||
| } | ||||
|  |  | |||
|  | @ -149,13 +149,14 @@ func (c *Cluster) deletePod(podName spec.NamespacedName) error { | |||
| func (c *Cluster) unregisterPodSubscriber(podName spec.NamespacedName) { | ||||
| 	c.logger.Debugf("unsubscribing from pod %q events", podName) | ||||
| 	c.podSubscribersMu.Lock() | ||||
| 	defer c.podSubscribersMu.Unlock() | ||||
| 
 | ||||
| 	ch, ok := c.podSubscribers[podName] | ||||
| 	if !ok { | ||||
| 		panic("subscriber for pod '" + podName.String() + "' is not found") | ||||
| 	} | ||||
| 
 | ||||
| 	delete(c.podSubscribers, podName) | ||||
| 	c.podSubscribersMu.Unlock() | ||||
| 	close(ch) | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue