update xds-server package in docker
[src/xds/xds-server.git] / lib / xdsserver / sdk.go
index 88f662a..931db34 100644 (file)
@@ -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 {
@@ -305,6 +305,8 @@ func (s *CrossSDK) Install(file string, force bool, timeout int, args []string,
 
        // Define callback for output
        s.installCmd.ExitCB = func(e *eows.ExecOverWS, code int, exitError error) {
+               defer LockXdsUpdateCounter(s.Context, false)
+
                // paranoia
                data := e.UserData
                sdkID := (*data)["SDKID"].(string)