From 71e1303234ef227851998f08c98c7c69670c9966 Mon Sep 17 00:00:00 2001 From: Michael Muré Date: Tue, 8 Dec 2020 13:15:21 +0100 Subject: repo: simpler clock mutex locking --- repository/gogit.go | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'repository/gogit.go') diff --git a/repository/gogit.go b/repository/gogit.go index 0d34c00a..741982aa 100644 --- a/repository/gogit.go +++ b/repository/gogit.go @@ -604,6 +604,9 @@ func (repo *GoGitRepo) ListCommits(ref string) ([]Hash, error) { // GetOrCreateClock return a Lamport clock stored in the Repo. // If the clock doesn't exist, it's created. func (repo *GoGitRepo) GetOrCreateClock(name string) (lamport.Clock, error) { + repo.clocksMutex.Lock() + defer repo.clocksMutex.Unlock() + c, err := repo.getClock(name) if err == nil { return c, nil @@ -612,9 +615,6 @@ func (repo *GoGitRepo) GetOrCreateClock(name string) (lamport.Clock, error) { return nil, err } - repo.clocksMutex.Lock() - defer repo.clocksMutex.Unlock() - c, err = lamport.NewPersistedClock(repo.localStorage, name+"-clock") if err != nil { return nil, err @@ -625,9 +625,6 @@ func (repo *GoGitRepo) GetOrCreateClock(name string) (lamport.Clock, error) { } func (repo *GoGitRepo) getClock(name string) (lamport.Clock, error) { - repo.clocksMutex.Lock() - defer repo.clocksMutex.Unlock() - if c, ok := repo.clocks[name]; ok { return c, nil } -- cgit