From 419bfb1683fb0f154066779ec8999942d565b096 Mon Sep 17 00:00:00 2001 From: Kushal Harish Naidu <159911459+kushnaidu@users.noreply.github.com> Date: Wed, 28 Feb 2024 19:50:58 +0000 Subject: [PATCH] Add comments for singleInstance creation mechanism in giteaclient.go (#534) This change removes a conditional statement which is never executed. --------- Signed-off-by: Kushal Harish Naidu --- controllers/pkg/giteaclient/giteaclient.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/controllers/pkg/giteaclient/giteaclient.go b/controllers/pkg/giteaclient/giteaclient.go index f925bfa0..ad80933e 100644 --- a/controllers/pkg/giteaclient/giteaclient.go +++ b/controllers/pkg/giteaclient/giteaclient.go @@ -57,10 +57,12 @@ func GetClient(ctx context.Context, client resource.APIPatchingApplicator) (Gite if client.Client == nil { return nil, fmt.Errorf("failed creating gitea client, value of client.Client cannot be nil") } - + // check if an instance is created using check-lock-check pattern implementation if singleInstance == nil { + // Create a lock lock.Lock() defer lock.Unlock() + // Check instance is still null as another thread of execution may have initialized it before the lock was acquired. if singleInstance == nil { singleInstance = &gc{client: client} log.FromContext(ctx).Info("Gitea Client Instance created now.")