Merge pull request #2737 from node-red/fix-async-settings

Add mutex lock to saveSettings storage call
This commit is contained in:
Nick O'Leary 2020-10-28 22:14:25 +00:00 committed by GitHub
commit c38a490a6f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 1 deletions

View File

@ -25,6 +25,9 @@ var storageModule;
var settingsAvailable;
var sessionsAvailable;
var Mutex = require('async-mutex').Mutex;
const settingsSaveMutex = new Mutex();
var libraryFlowsCachedResult = null;
function moduleSelector(aSettings) {
@ -114,7 +117,7 @@ var storageModuleInterface = {
},
saveSettings: function(settings) {
if (settingsAvailable) {
return storageModule.saveSettings(settings);
return settingsSaveMutex.runExclusive(() => storageModule.saveSettings(settings))
} else {
return when.resolve();
}