fix(registry): data race when updating slug
This commit is contained in:
@@ -94,13 +94,13 @@ func (r *registry) Update(user string, oldKey, newKey Key) error {
|
|||||||
return ErrInvalidSlug
|
return ErrInvalidSlug
|
||||||
}
|
}
|
||||||
|
|
||||||
|
r.mu.Lock()
|
||||||
|
defer r.mu.Unlock()
|
||||||
|
|
||||||
if _, exists := r.slugIndex[newKey]; exists && newKey != oldKey {
|
if _, exists := r.slugIndex[newKey]; exists && newKey != oldKey {
|
||||||
return ErrSlugInUse
|
return ErrSlugInUse
|
||||||
}
|
}
|
||||||
|
|
||||||
r.mu.Lock()
|
|
||||||
defer r.mu.Unlock()
|
|
||||||
|
|
||||||
client, ok := r.byUser[user][oldKey]
|
client, ok := r.byUser[user][oldKey]
|
||||||
if !ok {
|
if !ok {
|
||||||
return ErrSessionNotFound
|
return ErrSessionNotFound
|
||||||
|
|||||||
Reference in New Issue
Block a user