From 4bfe17ba818b28a7b9afa1b8d396b685c97d78fd Mon Sep 17 00:00:00 2001 From: pofider Date: Wed, 27 Mar 2024 23:35:04 +0100 Subject: [PATCH] clear refresh interval timeout --- packages/jsreport-fs-store/lib/fileSystem.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/jsreport-fs-store/lib/fileSystem.js b/packages/jsreport-fs-store/lib/fileSystem.js index bd8e4655d..f40945029 100644 --- a/packages/jsreport-fs-store/lib/fileSystem.js +++ b/packages/jsreport-fs-store/lib/fileSystem.js @@ -130,12 +130,15 @@ module.exports = ({ dataDirectory, lock, externalModificationsSync }) => ({ const refreshInterval = setInterval(() => touch(path.join(dataDirectory, 'fs.lock')), this.lockOptions.stale / 2) refreshInterval.unref() const undelegateWait = this.lockOptions.wait * (this.lockOptions.retries || 1) + ((this.lockOptions.retries || 1) * (this.lockOptions.retryWait || 0)) - setTimeout(() => clearInterval(refreshInterval), undelegateWait).unref() - return { refreshInterval } + const clearRefreshIntervalTimeout = setTimeout(() => clearInterval(refreshInterval), undelegateWait) + clearRefreshIntervalTimeout.unref() + + return { refreshInterval, clearRefreshIntervalTimeout } }, async releaseLock (l) { clearInterval(l.refreshInterval) + clearTimeout(l.clearRefreshIntervalTimeout) await callUnlock(path.join(dataDirectory, 'fs.lock')) } })