summaryrefslogtreecommitdiff
path: root/src/pipe_wrap.cc
diff options
context:
space:
mode:
authorAnna Henningsen <anna@addaleax.net>2019-01-27 14:19:16 +0100
committerAnna Henningsen <anna@addaleax.net>2019-01-29 20:01:59 +0100
commit4dbff090c3ff2ba43b0fbb06cc65bef5b5d81008 (patch)
tree92056e30acb45bbb14fcca733e901d5d37a7fa3c /src/pipe_wrap.cc
parent55569759b32b61a94c57283e2030e737ae06c860 (diff)
downloadandroid-node-v8-4dbff090c3ff2ba43b0fbb06cc65bef5b5d81008.tar.gz
android-node-v8-4dbff090c3ff2ba43b0fbb06cc65bef5b5d81008.tar.bz2
android-node-v8-4dbff090c3ff2ba43b0fbb06cc65bef5b5d81008.zip
src: pass along errors from stream obj instantiation
PR-URL: https://github.com/nodejs/node/pull/25734 Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Gus Caplan <me@gus.host>
Diffstat (limited to 'src/pipe_wrap.cc')
-rw-r--r--src/pipe_wrap.cc13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/pipe_wrap.cc b/src/pipe_wrap.cc
index 8ad1e0f594..06bb3dd73d 100644
--- a/src/pipe_wrap.cc
+++ b/src/pipe_wrap.cc
@@ -42,16 +42,16 @@ using v8::FunctionTemplate;
using v8::HandleScope;
using v8::Int32;
using v8::Local;
+using v8::MaybeLocal;
using v8::Object;
using v8::String;
using v8::Value;
using AsyncHooks = Environment::AsyncHooks;
-
-Local<Object> PipeWrap::Instantiate(Environment* env,
- AsyncWrap* parent,
- PipeWrap::SocketType type) {
+MaybeLocal<Object> PipeWrap::Instantiate(Environment* env,
+ AsyncWrap* parent,
+ PipeWrap::SocketType type) {
EscapableHandleScope handle_scope(env->isolate());
AsyncHooks::DefaultTriggerAsyncIdScope trigger_scope(parent);
CHECK_EQ(false, env->pipe_constructor_template().IsEmpty());
@@ -60,9 +60,8 @@ Local<Object> PipeWrap::Instantiate(Environment* env,
.ToLocalChecked();
CHECK_EQ(false, constructor.IsEmpty());
Local<Value> type_value = Int32::New(env->isolate(), type);
- Local<Object> instance =
- constructor->NewInstance(env->context(), 1, &type_value).ToLocalChecked();
- return handle_scope.Escape(instance);
+ return handle_scope.EscapeMaybe(
+ constructor->NewInstance(env->context(), 1, &type_value));
}