aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorhimself65 <himself65@outlook.com>2019-07-31 22:20:13 +0800
committerRich Trott <rtrott@gmail.com>2019-08-02 12:02:48 -0700
commit2b03e1d0a5ef2a52e4d7ce550b74a961c62e185a (patch)
tree4a8c2cd19438696127570b9223645f507b0a46f5 /lib
parent36864a60fa25394fa034a9bea7c9928c301c0d8f (diff)
downloadandroid-node-v8-2b03e1d0a5ef2a52e4d7ce550b74a961c62e185a.tar.gz
android-node-v8-2b03e1d0a5ef2a52e4d7ce550b74a961c62e185a.tar.bz2
android-node-v8-2b03e1d0a5ef2a52e4d7ce550b74a961c62e185a.zip
http2: destroy when settingsFn throws an error
http2.connect should call destroy when init fails. PR-URL: https://github.com/nodejs/node/pull/28908 Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com> Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'lib')
-rw-r--r--lib/internal/http2/core.js8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/internal/http2/core.js b/lib/internal/http2/core.js
index ec720da71e..fca37ae2b0 100644
--- a/lib/internal/http2/core.js
+++ b/lib/internal/http2/core.js
@@ -972,7 +972,13 @@ class Http2Session extends EventEmitter {
if (socket.connecting) {
const connectEvent =
socket instanceof tls.TLSSocket ? 'secureConnect' : 'connect';
- socket.once(connectEvent, setupFn);
+ socket.once(connectEvent, () => {
+ try {
+ setupFn();
+ } catch (error) {
+ socket.destroy(error);
+ }
+ });
} else {
setupFn();
}