X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fxdsserver%2Fsdk.go;h=6cd26194d46638cead649826e62041025b05b461;hb=3f460335601df39a6b43488313ac9031c8d85fe8;hp=68c92b43fe1d6f033c73c5125ad1035377ad0c82;hpb=a93832c2e3058c55e183c487dde595bd42238bb0;p=src%2Fxds%2Fxds-server.git diff --git a/lib/xdsserver/sdk.go b/lib/xdsserver/sdk.go index 68c92b4..6cd2619 100644 --- a/lib/xdsserver/sdk.go +++ b/lib/xdsserver/sdk.go @@ -220,7 +220,7 @@ func NewCrossSDK(ctx *Context, sdk xsapiv1.SDK, scriptDir string) (*CrossSDK, er // Install a SDK (non blocking command, IOW run in background) func (s *CrossSDK) Install(file string, force bool, timeout int, args []string, sess *ClientSession) error { - if s.sdk.Status == xsapiv1.SdkStatusInstalled { + if s.sdk.Status == xsapiv1.SdkStatusInstalled && !force { return fmt.Errorf("already installed") } if s.sdk.Status == xsapiv1.SdkStatusInstalling { @@ -393,6 +393,10 @@ func (s *CrossSDK) Install(file string, force bool, timeout int, args []string, s.sdk.Status = xsapiv1.SdkStatusInstalling s.sdk.LastError = "" + if err := s.events.Emit(xsapiv1.EVTSDKStateChange, s.sdk, sess.ID); err != nil { + s.Log.Errorf("WS Emit EVTSDKStateChange installing : %v", err) + } + err := s.installCmd.Start() return err