From 894f3c3213b17841c7bfd96d48200559775104af Mon Sep 17 00:00:00 2001 From: LordMathis Date: Sun, 31 Aug 2025 00:14:29 +0200 Subject: [PATCH] Refactor StartInstance method to improve max running instances check --- pkg/manager/operations.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/pkg/manager/operations.go b/pkg/manager/operations.go index 8972b80..3a0c07a 100644 --- a/pkg/manager/operations.go +++ b/pkg/manager/operations.go @@ -174,6 +174,7 @@ func (im *instanceManager) DeleteInstance(name string) error { func (im *instanceManager) StartInstance(name string) (*instance.Process, error) { im.mu.RLock() instance, exists := im.instances[name] + maxRunningExceeded := len(im.runningInstances) >= im.instancesConfig.MaxRunningInstances && im.instancesConfig.MaxRunningInstances != -1 im.mu.RUnlock() if !exists { @@ -183,7 +184,7 @@ func (im *instanceManager) StartInstance(name string) (*instance.Process, error) return instance, fmt.Errorf("instance with name %s is already running", name) } - if len(im.runningInstances) >= im.instancesConfig.MaxRunningInstances && im.instancesConfig.MaxRunningInstances != -1 { + if maxRunningExceeded { return nil, MaxRunningInstancesError(fmt.Errorf("maximum number of running instances (%d) reached", im.instancesConfig.MaxRunningInstances)) }