// newIsTerminatingFunc returns a 'func() bool' that relies on the
// 'ShutdownInitiated' life cycle signal of answer if the apiserver
// has started the termination process.
newIsTerminatingFunc returns a 'func() bool' that relies on the
'ShutdownInitiated' life cycle signal of answer if the apiserver
has started the termination process.
// newIsTerminatingFunc returns a ' func () bool ' that relies on the // ' ShutdownInitiated ' life cycle signal of answer if the apiserver // has started the termination process .
func (c *Config) newIsTerminatingFunc() func() bool {
	var shutdownCh <-chan struct{}
	if c.lifecycleSignals.ShutdownInitiated != nil {
		shutdownCh = c.lifecycleSignals.ShutdownInitiated.Signaled()
	}
	return func() bool {
		select {
		case <-shutdownCh:
			return true
		default:
			return false
		}
	}
}
func ( c * Config ) newIsTerminatingFunc ( ) func ( ) bool { var shutdownCh <- chan struct { } if c . lifecycleSignals . ShutdownInitiated != nil { shutdownCh = c . lifecycleSignals . ShutdownInitiated . Signaled ( ) } return func ( ) bool { select { case <- shutdownCh : return true default : return false } } }
newIsTerminatingFunc returns a 'func() bool' that relies on the
'ShutdownInitiated' life cycle signal of answer if the apiserver
has started the termination process.
newIsTerminatingFunc returns a ' func () bool ' that relies on the ' ShutdownInitiated ' life cycle signal of answer if the apiserver has started the termination process .
// TODO: a properly initialized Config object should always have lifecycleSignals //  initialized, but some config unit tests leave lifecycleSignals as nil. //  Fix the unit tests upstream and then we can remove this check.