From d4e6d869612e199a04479a339a6895152a445da3 Mon Sep 17 00:00:00 2001 From: ansuz Date: Fri, 27 Nov 2020 08:21:51 +0530 Subject: [PATCH] enforce asynchrony in new database offset methods --- lib/storage/file.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/lib/storage/file.js b/lib/storage/file.js index 8cdfa747a..d890cb0b9 100644 --- a/lib/storage/file.js +++ b/lib/storage/file.js @@ -1222,17 +1222,18 @@ module.exports.create = function (conf, _cb) { // OFFSETS // these exist strictly as an optimization // you can always remove them without data loss - clearOffset: function (channelName, cb) { + clearOffset: function (channelName, _cb) { + var cb = Util.once(Util.mkAsync(_cb)); if (!isValidChannelId(channelName)) { return void cb(new Error('EINVAL')); } clearOffset(env, channelName, cb); }, writeOffset: function (channelName, data, _cb) { - var cb = Util.mkAsync(_cb); + var cb = Util.once(Util.mkAsync(_cb)); if (!isValidChannelId(channelName)) { return void cb(new Error('EINVAL')); } writeOffset(env, channelName, data, cb); }, getOffset: function (channelName, _cb) { - var cb = Util.mkAsync(_cb); + var cb = Util.once(Util.mkAsync(_cb)); if (!isValidChannelId(channelName)) { return void cb(new Error('EINVAL')); } getOffset(env, channelName, cb); },