link.go
func (pl *processLink) ChildClosing() <-chan struct{} {
	// grab a hold of it, and unlock, as .Closing may block.
	pl.Lock()
	child := pl.child
	pl.Unlock()

	if child == nil { // already closed? memory optimization.
		return closedCh
	}
	return child.Closing()
}
func (pl *processLink) ChildClosing() <-chan struct{} {
	// grab a hold of it, and unlock, as .Closing may block.
	pl.Lock()
	child := pl.child
	pl.Unlock()

	if child == nil { // already closed? memory optimization.
		return closedCh
	}
	return child.Closing()
}
func ( pl * processLink ) ChildClosing ( ) <- chan struct { } { // grab a hold of it, and unlock, as .Closing may block. pl . Lock ( ) child := pl . child pl . Unlock ( ) if child == nil { // already closed? memory optimization. return closedCh } return child . Closing ( ) }
// Closing returns whether the child is closing
Closing returns whether the child is closing