diff --git a/src/pipe_wrap.cc b/src/pipe_wrap.cc index 98645a4121360b..f0cd019f11daae 100644 --- a/src/pipe_wrap.cc +++ b/src/pipe_wrap.cc @@ -217,10 +217,10 @@ void PipeWrap::Open(const FunctionCallbackInfo& args) { if (!args[0]->Int32Value(env->context()).To(&fd)) return; int err = uv_pipe_open(&wrap->handle_, fd); - wrap->set_fd(fd); + if (err == 0) + wrap->set_fd(fd); - if (err != 0) - env->ThrowUVException(err, "uv_pipe_open"); + args.GetReturnValue().Set(err); }