@@ -75,6 +75,7 @@ function Connection(options, queues = {}, { onopen = noop, onend = noop, onclose
75
75
, connectTimer = timer ( connectTimedOut , options . connect_timeout )
76
76
77
77
let socket = null
78
+ , cancelMessage
78
79
, result = new Result ( )
79
80
, incoming = Buffer . alloc ( 0 )
80
81
, needsTypes = options . fetch_types
@@ -139,16 +140,14 @@ function Connection(options, queues = {}, { onopen = noop, onend = noop, onclose
139
140
}
140
141
141
142
async function cancel ( { pid, secret } , resolve , reject ) {
142
- socket || ( socket = await createSocket ( ) )
143
- if ( ! socket )
144
- return
145
-
146
- socket . removeAllListeners ( )
147
- socket = net . Socket ( )
148
- socket . on ( 'connect' , ( ) => socket . write ( b ( ) . i32 ( 16 ) . i32 ( 80877102 ) . i32 ( pid ) . i32 ( secret ) . end ( 16 ) ) )
149
- socket . once ( 'error' , reject )
150
- socket . once ( 'close' , resolve )
151
- connect ( )
143
+ try {
144
+ cancelMessage = b ( ) . i32 ( 16 ) . i32 ( 80877102 ) . i32 ( pid ) . i32 ( secret ) . end ( 16 )
145
+ await connect ( )
146
+ socket . once ( 'error' , reject )
147
+ socket . once ( 'close' , resolve )
148
+ } catch ( error ) {
149
+ reject ( error )
150
+ }
152
151
}
153
152
154
153
function execute ( q ) {
@@ -955,7 +954,7 @@ function Connection(options, queues = {}, { onopen = noop, onend = noop, onclose
955
954
}
956
955
957
956
function StartupMessage ( ) {
958
- return b ( ) . inc ( 4 ) . i16 ( 3 ) . z ( 2 ) . str (
957
+ return cancelMessage || b ( ) . inc ( 4 ) . i16 ( 3 ) . z ( 2 ) . str (
959
958
Object . entries ( Object . assign ( {
960
959
user,
961
960
database,
0 commit comments