update xds-server package in docker
[src/xds/xds-server.git] / lib / xdsserver / apiv1-exec.go
index 57ea1f1..c045e9e 100644 (file)
@@ -314,6 +314,9 @@ func (s *APIService) execCmd(c *gin.Context) {
                if errSoEmit != nil {
                        s.Log.Errorf("WS Emit : %v", errSoEmit)
                }
+               s.lock.Lock()
+               s.lock.LockCpt--
+               s.lock.Unlock()
        }
 
        // User data (used within callbacks)
@@ -330,8 +333,14 @@ func (s *APIService) execCmd(c *gin.Context) {
        // Start command execution
        s.Log.Infof("Execute [Cmd ID %s]: %v %v", execWS.CmdID, execWS.Cmd, execWS.Args)
 
+       s.lock.Lock()
+       s.lock.LockCpt++
+       s.lock.Unlock()
        err = execWS.Start()
        if err != nil {
+               s.lock.Lock()
+               s.lock.LockCpt--
+               s.lock.Unlock()
                common.APIError(c, err.Error())
                return
        }