Open debedb opened 7 years ago
Consider line 499:
l.last, err = l.client.Set(context.Background(), l.key, l.value, setOpts)
It is possible for Set() to succeed, and immediately the following call to Set() from a different goroutine to fail - modifying l.last to be nil. Which will then result in Unlock() not issuing a Delete call and so not unlocking.
Set()
l.last
nil
Unlock()
I think this is fixed by #186
Consider line 499:
l.last, err = l.client.Set(context.Background(), l.key, l.value, setOpts)
It is possible for
Set()
to succeed, and immediately the following call toSet()
from a different goroutine to fail - modifyingl.last
to benil
. Which will then result inUnlock()
not issuing a Delete call and so not unlocking.