X-Git-Url: https://gerrit.automotivelinux.org/gerrit/gitweb?a=blobdiff_plain;f=lib%2Fxdsserver%2Fapiv1-exec.go;h=c045e9ef9c7339549896a70fec6f11fad8376f93;hb=refs%2Fheads%2Fsandbox%2Fbenierc%2Fxds-server-update-pkg;hp=57ea1f1ca1bed762a3a0f41c410b4a6d643a547a;hpb=95293a7ee22cfff9c49a19bd7ae205529d812fa9;p=src%2Fxds%2Fxds-server.git diff --git a/lib/xdsserver/apiv1-exec.go b/lib/xdsserver/apiv1-exec.go index 57ea1f1..c045e9e 100644 --- a/lib/xdsserver/apiv1-exec.go +++ b/lib/xdsserver/apiv1-exec.go @@ -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 }