Skip to content

Commit

Permalink
Merge pull request #35 from sudo-bmitch/pr-race-index-get
Browse files Browse the repository at this point in the history
Fix a data race on the IndexGet calls
  • Loading branch information
sudo-bmitch committed Dec 25, 2023
2 parents 357bcc4 + a2ab75e commit 54343bb
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 1 deletion.
4 changes: 3 additions & 1 deletion internal/store/dir.go
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,9 @@ func (d *dir) RepoGet(repoStr string) (Repo, error) {

// IndexGet returns the current top level index for a repo.
func (dr *dirRepo) IndexGet() (types.Index, error) {
err := dr.repoLoad(false, false)
dr.mu.Lock()
defer dr.mu.Unlock()
err := dr.repoLoad(false, true)
return dr.index, err
}

Expand Down
2 changes: 2 additions & 0 deletions internal/store/mem.go
Original file line number Diff line number Diff line change
Expand Up @@ -72,6 +72,8 @@ func (m *mem) RepoGet(repoStr string) (Repo, error) {

// IndexGet returns the current top level index for a repo.
func (mr *memRepo) IndexGet() (types.Index, error) {
mr.mu.Lock()
defer mr.mu.Unlock()
return mr.index, nil
}

Expand Down

0 comments on commit 54343bb

Please sign in to comment.