Another race in resource.Retry

This commit is contained in:
James Bardin 2016-07-29 18:35:54 -04:00
parent 5802f76eaa
commit 074be9ae56
1 changed files with 4 additions and 2 deletions

View File

@ -20,13 +20,15 @@ func Retry(timeout time.Duration, f RetryFunc) error {
MinTimeout: 500 * time.Millisecond,
Refresh: func() (interface{}, string, error) {
rerr := f()
resultErrMu.Lock()
defer resultErrMu.Unlock()
if rerr == nil {
resultErr = nil
return 42, "success", nil
}
resultErrMu.Lock()
defer resultErrMu.Unlock()
resultErr = rerr.Err
if rerr.Retryable {