From 4af7996a38f9228ffbb7818170611d4005f4afdc Mon Sep 17 00:00:00 2001 From: Nick Downing Date: Thu, 13 Jan 2022 15:00:46 +1100 Subject: [PATCH] Fix bug in Database.Transaction() of not awaiting this.mutex.acquire() --- Database.mjs | 4 ++-- json_to_logjson.mjs | 2 +- logjson_to_json.mjs | 2 +- tests/a.mjs | 6 +++--- tests/b.mjs | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Database.mjs b/Database.mjs index f0d40a4..01db430 100644 --- a/Database.mjs +++ b/Database.mjs @@ -241,8 +241,8 @@ class Database { this.write_list_len = 0 } - Transaction() { - this.mutex.acquire() + async Transaction() { + await this.mutex.acquire() return new Transaction(this, this.value) } diff --git a/json_to_logjson.mjs b/json_to_logjson.mjs index 8112857..3a19bff 100755 --- a/json_to_logjson.mjs +++ b/json_to_logjson.mjs @@ -10,7 +10,7 @@ if (process.argv.length < 4) { let database = new logjson.Database() await database.open(process.argv[3]) -let transaction = database.Transaction() +let transaction = await database.Transaction() transaction.set( transaction.json_to_logjson( JSON.parse( diff --git a/logjson_to_json.mjs b/logjson_to_json.mjs index 77511cd..25de50f 100755 --- a/logjson_to_json.mjs +++ b/logjson_to_json.mjs @@ -10,7 +10,7 @@ if (process.argv.length < 4) { let database = new logjson.Database() await database.open(process.argv[2]) -let transaction = database.Transaction() +let transaction = await database.Transaction() await fsPromises.writeFile( process.argv[3], Buffer.from( diff --git a/tests/a.mjs b/tests/a.mjs index ccaacfb..e72aadf 100755 --- a/tests/a.mjs +++ b/tests/a.mjs @@ -6,7 +6,7 @@ import fsPromises from 'fs/promises' let database = new logjson.Database(5, 1) await database.open('a.logjson') -let transaction = database.Transaction() +let transaction = await database.Transaction() transaction.set( transaction.json_to_logjson( JSON.parse(await fsPromises.readFile('random.json', 'utf-8')) @@ -14,7 +14,7 @@ transaction.set( ) await transaction.commit() -/*let*/ transaction = database.Transaction() +/*let*/ transaction = await database.Transaction() await fsPromises.writeFile( 'a.json', Buffer.from( @@ -34,7 +34,7 @@ await database.kick() await database.kick() await database.kick() -/*let*/ transaction = database.Transaction() +/*let*/ transaction = await database.Transaction() await fsPromises.writeFile( 'b.json', Buffer.from( diff --git a/tests/b.mjs b/tests/b.mjs index fba6893..2ec757b 100755 --- a/tests/b.mjs +++ b/tests/b.mjs @@ -5,7 +5,7 @@ import fsPromises from 'fs/promises' let database = new logjson.Database() await database.open('a.logjson') -let transaction = database.Transaction() +let transaction = await database.Transaction() await fsPromises.writeFile( 'd.json', Buffer.from( -- 2.34.1