equal
deleted
inserted
replaced
408 def noop(*args): |
408 def noop(*args): |
409 pass |
409 pass |
410 def wrapped(self, *args, **kwargs): |
410 def wrapped(self, *args, **kwargs): |
411 retrylog = self.retrylog or noop |
411 retrylog = self.retrylog or noop |
412 funcname = fn.__name__ |
412 funcname = fn.__name__ |
413 for i in pycompat.xrange(self.numattempts): |
413 i = 0 |
|
414 while i < self.numattempts: |
414 if i > 0: |
415 if i > 0: |
415 retrylog('re-attempting (n=%d) %s\n' % (i, funcname)) |
416 retrylog('re-attempting (n=%d) %s\n' % (i, funcname)) |
416 self.markforrefresh() |
417 self.markforrefresh() |
|
418 i += 1 |
417 try: |
419 try: |
418 return fn(self, *args, **kwargs) |
420 return fn(self, *args, **kwargs) |
419 except KeyError: |
421 except KeyError: |
420 pass |
422 if i == self.numattempts: |
421 # retries exhausted |
423 # retries exhausted |
422 retrylog('retries exhausted in %s, raising KeyError\n' % |
424 retrylog('retries exhausted in %s, raising KeyError\n' % |
423 pycompat.sysbytes(funcname)) |
425 pycompat.sysbytes(funcname)) |
424 raise |
426 raise |
425 return wrapped |
427 return wrapped |