summaryrefslogtreecommitdiff
path: root/lib/internal
diff options
context:
space:
mode:
authorcjihrig <cjihrig@gmail.com>2019-11-25 16:43:59 -0500
committercjihrig <cjihrig@gmail.com>2019-11-27 18:27:11 -0500
commitb7cdeb8a3a39000944106ddcd8ebcd5d1a8a5486 (patch)
tree6824d92c5d81d4987e73bac5a75d1b79cbb43eb3 /lib/internal
parent4c77a76ad91aaa7c4560c00c298bfcc74e49f573 (diff)
downloadandroid-node-v8-b7cdeb8a3a39000944106ddcd8ebcd5d1a8a5486.tar.gz
android-node-v8-b7cdeb8a3a39000944106ddcd8ebcd5d1a8a5486.tar.bz2
android-node-v8-b7cdeb8a3a39000944106ddcd8ebcd5d1a8a5486.zip
fs: add retryDelay option to rimraf
This commit adds a retryDelay option to rimraf which configures the amount of time between retry operations. Refs: https://github.com/nodejs/node/issues/30580 PR-URL: https://github.com/nodejs/node/pull/30644 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: James M Snell <jasnell@gmail.com>
Diffstat (limited to 'lib/internal')
-rw-r--r--lib/internal/fs/rimraf.js3
-rw-r--r--lib/internal/fs/utils.js3
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/internal/fs/rimraf.js b/lib/internal/fs/rimraf.js
index 9d5fcad49c..3212fdd539 100644
--- a/lib/internal/fs/rimraf.js
+++ b/lib/internal/fs/rimraf.js
@@ -35,7 +35,8 @@ function rimraf(path, options, callback) {
if (err) {
if (retryErrorCodes.has(err.code) && retries < options.maxRetries) {
retries++;
- return setTimeout(_rimraf, retries * 100, path, options, CB);
+ const delay = retries * options.retryDelay;
+ return setTimeout(_rimraf, delay, path, options, CB);
}
// The file is already gone.
diff --git a/lib/internal/fs/utils.js b/lib/internal/fs/utils.js
index f71a21b7d4..4d7f0d6765 100644
--- a/lib/internal/fs/utils.js
+++ b/lib/internal/fs/utils.js
@@ -28,6 +28,7 @@ const {
const { once } = require('internal/util');
const { toPathIfFileURL } = require('internal/url');
const {
+ validateInt32,
validateUint32
} = require('internal/validators');
const pathModule = require('path');
@@ -565,6 +566,7 @@ function warnOnNonPortableTemplate(template) {
}
const defaultRmdirOptions = {
+ retryDelay: 100,
maxRetries: 0,
recursive: false,
};
@@ -580,6 +582,7 @@ const validateRmdirOptions = hideStackFrames((options) => {
if (typeof options.recursive !== 'boolean')
throw new ERR_INVALID_ARG_TYPE('recursive', 'boolean', options.recursive);
+ validateInt32(options.retryDelay, 'retryDelay', 0);
validateUint32(options.maxRetries, 'maxRetries');
return options;