X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?p=src%2Fxds%2Fxds-cli.git;a=blobdiff_plain;f=cmd-exec.go;h=98ceb78948c0dbb9a3bd4bb17e5e7735f07c5495;hp=3f1ee9747474588d3d13a2ad2f35b34d59928d28;hb=3b5e82b55433fd49cfe0cd0349756e0c2e9a9c12;hpb=ad7380c0eeaa8165067a43734d925a1ccc9187e1 diff --git a/cmd-exec.go b/cmd-exec.go index 3f1ee97..98ceb78 100644 --- a/cmd-exec.go +++ b/cmd-exec.go @@ -48,6 +48,12 @@ func initCmdExec(cmdDef *[]cli.Command) { EnvVar: "XDS_SDK_ID", Usage: "Cross Sdk ID to use to build project", }, + cli.BoolFlag{ + Name: "ldlibpath-no-reset", + Hidden: true, + EnvVar: "XDS_LD_LIBRARY_PATH_NO_RESET", + Usage: "Don't reset LD_LIBRARY_PATH before executing command", + }, }, }) } @@ -78,7 +84,7 @@ func execCmd(ctx *cli.Context) error { } exitChan := make(chan exitResult, 1) - IOsk.On("disconnection", func(err error) { + IOSkClient.On("disconnection", func(err error) { Log.Debugf("WS disconnection event with err: %v\n", err) exitChan <- exitResult{err, 2} }) @@ -96,15 +102,15 @@ func execCmd(ctx *cli.Context) error { } } - IOsk.On(xaapiv1.ExecOutEvent, func(ev xaapiv1.ExecOutMsg) { + IOSkClient.On(xaapiv1.ExecOutEvent, func(ev xaapiv1.ExecOutMsg) { outFunc(ev.Timestamp, ev.Stdout, ev.Stderr) }) - IOsk.On(xaapiv1.ExecExitEvent, func(ev xaapiv1.ExecExitMsg) { + IOSkClient.On(xaapiv1.ExecExitEvent, func(ev xaapiv1.ExecExitMsg) { exitChan <- exitResult{ev.Error, ev.Code} }) - IOsk.On(xaapiv1.EVTProjectChange, func(ev xaapiv1.EventMsg) { + IOSkClient.On(xaapiv1.EVTProjectChange, func(ev xaapiv1.EventMsg) { prj, _ := ev.DecodeProjectConfig() Log.Infof("Event %v (%v): %v", ev.Type, ev.Time, prj) }) @@ -144,13 +150,14 @@ func execCmd(ctx *cli.Context) error { // Send build command args := xaapiv1.ExecArgs{ - ID: prjID, - SdkID: sdkid, - Cmd: strings.Trim(argsCommand[0], " "), - Args: argsCommand[1:], - Env: env, - RPath: rPath, - CmdTimeout: 60, + ID: prjID, + SdkID: sdkid, + Cmd: strings.Trim(argsCommand[0], " "), + Args: argsCommand[1:], + Env: env, + RPath: rPath, + LdLibPathNoReset: ctx.Bool("ldlibpath-no-reset"), + CmdTimeout: 60, } LogPost("POST /exec %v", args) @@ -160,6 +167,10 @@ func execCmd(ctx *cli.Context) error { // Wait exit select { + case res := <-IOSkClient.ServerDiscoChan: + Log.Debugf("XDS Server disconnected %v", res) + return cli.NewExitError(res.error, res.code) + case res := <-exitChan: errStr := "" if res.code == 0 {