Skip to content

Commit 7e418cd

Browse files
committed
Wait for real close event
1 parent 8d1691a commit 7e418cd

File tree

3 files changed

+3
-3
lines changed

3 files changed

+3
-3
lines changed

cjs/src/connection.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ function Connection(options, queues = {}, { onopen = noop, onend = noop, onclose
391391
return ending || (
392392
!connection.reserved && onend(connection),
393393
!connection.reserved && !initial && !query && sent.length === 0
394-
? Promise.resolve(terminate())
394+
? (terminate(), new Promise(r => socket && socket.readyState !== 'closed' ? socket.once('close', r) : r()))
395395
: ending = new Promise(r => ended = r)
396396
)
397397
}

deno/src/connection.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -395,7 +395,7 @@ function Connection(options, queues = {}, { onopen = noop, onend = noop, onclose
395395
return ending || (
396396
!connection.reserved && onend(connection),
397397
!connection.reserved && !initial && !query && sent.length === 0
398-
? Promise.resolve(terminate())
398+
? (terminate(), new Promise(r => socket && socket.readyState !== 'closed' ? socket.once('close', r) : r()))
399399
: ending = new Promise(r => ended = r)
400400
)
401401
}

src/connection.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -391,7 +391,7 @@ function Connection(options, queues = {}, { onopen = noop, onend = noop, onclose
391391
return ending || (
392392
!connection.reserved && onend(connection),
393393
!connection.reserved && !initial && !query && sent.length === 0
394-
? Promise.resolve(terminate())
394+
? (terminate(), new Promise(r => socket && socket.readyState !== 'closed' ? socket.once('close', r) : r()))
395395
: ending = new Promise(r => ended = r)
396396
)
397397
}

0 commit comments

Comments
 (0)