(fn)
| 225 | } |
| 226 | |
| 227 | function _retryFsLockOperation(fn) { |
| 228 | var err = null; |
| 229 | for (var attempt = 0; attempt < 3; attempt++) { |
| 230 | try { |
| 231 | return fn(); |
| 232 | } catch (e) { |
| 233 | err = e; |
| 234 | if (!_isRetryableFsLockError(e)) break; |
| 235 | if (attempt < 2) _waitForFsLockRetry(); |
| 236 | } |
| 237 | } |
| 238 | throw err; |
| 239 | } |
| 240 | |
| 241 | function _downloadUrlWithNode(url, destPath) { |
| 242 | var script = [ |
no test coverage detected