summaryrefslogtreecommitdiff
path: root/lib/internal
diff options
context:
space:
mode:
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;