func()

in ctxtool/merge.go [113:132]


func (c *mergeCancelCtx) waitCancel(chDone chan struct{}) {
	var err error
	defer func() {
		c.mu.Lock()
		defer c.mu.Unlock()
		if c.err == nil {
			c.err = err
			close(chDone)
		}
	}()

	select {
	case <-chDone: // CancelFunc triggered cleanup

	case <-c.Context.Done():
		err = c.Context.Err()
	case <-c.cancel.Done():
		err = c.cancel.Err()
	}
}