clientv3/leasing: fix racey waitSession
Signed-off-by: Gyuho Lee <gyuhox@gmail.com>release-3.4
parent
3dd1c1b53c
commit
1880cf8da2
|
@ -445,8 +445,11 @@ func (lkv *leasingKV) revokeLeaseKvs(ctx context.Context, kvs []*mvccpb.KeyValue
|
||||||
}
|
}
|
||||||
|
|
||||||
func (lkv *leasingKV) waitSession(ctx context.Context) error {
|
func (lkv *leasingKV) waitSession(ctx context.Context) error {
|
||||||
|
lkv.leases.mu.RLock()
|
||||||
|
sessionc := lkv.sessionc
|
||||||
|
lkv.leases.mu.RUnlock()
|
||||||
select {
|
select {
|
||||||
case <-lkv.sessionc:
|
case <-sessionc:
|
||||||
return nil
|
return nil
|
||||||
case <-lkv.ctx.Done():
|
case <-lkv.ctx.Done():
|
||||||
return lkv.ctx.Err()
|
return lkv.ctx.Err()
|
||||||
|
|
Loading…
Reference in New Issue