X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=main.go;fp=main.go;h=8d1e0eb5b7e07673dfd0fbc52035128c01084aac;hb=92f718ade3789c1ed33be04d03c3214b6ed8f596;hp=2dfd056d3610fc560f7b361569363d84108b230b;hpb=00b5b83dcff4904aeb18760caa193fa3393241e0;p=src%2Fxds%2Fxds-cli.git diff --git a/main.go b/main.go index 2dfd056..8d1e0eb 100644 --- a/main.go +++ b/main.go @@ -26,6 +26,7 @@ import ( "regexp" "sort" "strings" + "syscall" "text/tabwriter" "gerrit.automotivelinux.org/gerrit/src/xds/xds-agent.git/lib/xaapiv1" @@ -324,6 +325,20 @@ func main() { // Start signals monitoring routine MonitorSignals() + // Default callback to handle interrupt signal + // Maybe be overwritten by some subcommand (eg. targets commands) + err := OnSignals(func(sig os.Signal) { + Log.Debugf("Send signal %v (from main)", sig) + if IsInterruptSignal(sig) { + err := cli.NewExitError("Interrupted\n", int(syscall.EINTR)) + cli.HandleExitCoder(err) + } + }) + if err != nil { + cli.NewExitError(err.Error(), 1) + return + } + // Run the cli app app.Run(os.Args) }