cli.go
func (cli *CLI) stop() {
	cli.Lock()
	defer cli.Unlock()

	if cli.stopped {
		return
	}

	close(cli.stopCh)
	cli.stopped = true
}
func (cli *CLI) stop() {
	cli.Lock()
	defer cli.Unlock()

	if cli.stopped {
		return
	}

	close(cli.stopCh)
	cli.stopped = true
}
func ( cli * CLI ) stop ( ) { cli . Lock ( ) defer cli . Unlock ( ) if cli . stopped { return } close ( cli . stopCh ) cli . stopped = true }
// stop is used internally to shutdown a running CLI
stop is used internally to shutdown a running CLI