mirror of
https://github.com/hanzoai/psrpc.git
synced 2026-09-30 23:47:22 +00:00
Avoiding randomness when local context it done and waitTime is 0 (#113)
This commit is contained in:
+12
-4
@@ -103,10 +103,18 @@ func retry(opt RetryOptions, done <-chan struct{}, fn func(timeout time.Duration
|
||||
|
||||
attempt++
|
||||
|
||||
select {
|
||||
case <-done:
|
||||
return psrpc.ErrRequestCanceled
|
||||
case <-time.After(waitTime):
|
||||
if waitTime > 0 { // Avoid randomenss
|
||||
select {
|
||||
case <-done:
|
||||
return psrpc.ErrRequestCanceled
|
||||
case <-time.After(waitTime):
|
||||
}
|
||||
} else {
|
||||
select {
|
||||
case <-done:
|
||||
return psrpc.ErrRequestCanceled
|
||||
default:
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user