From 5e91617294e12b1acf2dc43082cb1982a91fc25b Mon Sep 17 00:00:00 2001 From: Asadbek Raimov Date: Tue, 18 Jun 2024 18:26:57 +0500 Subject: [PATCH] fix: wait for pool.end() Because when you don't pass a callback to .end() it always returns a promise --- packages/pg-pool/index.js | 5 ++--- packages/pg-pool/test/idle-timeout.js | 2 +- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/packages/pg-pool/index.js b/packages/pg-pool/index.js index ad48a80be..c4e9b36aa 100644 --- a/packages/pg-pool/index.js +++ b/packages/pg-pool/index.js @@ -356,8 +356,7 @@ class Pool extends EventEmitter { if (isExpired) { this.log('remove expired client') this._expired.delete(client) - this._remove(client, this._pulseQueue.bind(this)) - return + return this._remove(client, this._pulseQueue.bind(this)) } // idle timeout @@ -365,7 +364,7 @@ class Pool extends EventEmitter { if (this.options.idleTimeoutMillis) { tid = setTimeout(() => { this.log('remove idle client') - this._remove(client) + this._remove(client, this._pulseQueue.bind(this)) }, this.options.idleTimeoutMillis) if (this.options.allowExitOnIdle) { diff --git a/packages/pg-pool/test/idle-timeout.js b/packages/pg-pool/test/idle-timeout.js index 13514bdb6..588cf9bd4 100644 --- a/packages/pg-pool/test/idle-timeout.js +++ b/packages/pg-pool/test/idle-timeout.js @@ -50,7 +50,7 @@ describe('idle timeout', () => { try { yield Promise.race([removal, timeout]) } finally { - pool.end() + yield pool.end() } }) )