diff options
Diffstat (limited to 'src/spawn_sync.cc')
-rw-r--r-- | src/spawn_sync.cc | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/spawn_sync.cc b/src/spawn_sync.cc index d7d06be34bd..1141aceae98 100644 --- a/src/spawn_sync.cc +++ b/src/spawn_sync.cc @@ -457,9 +457,17 @@ Maybe<bool> SyncProcessRunner::TryInitializeAndRunLoop(Local<Value> options) { SetError(UV_ENOMEM); return Just(false); } - CHECK_EQ(uv_loop_init(uv_loop_), 0); + + r = uv_loop_init(uv_loop_); + if (r < 0) { + delete uv_loop_; + uv_loop_ = nullptr; + SetError(r); + return Just(false); + } if (!ParseOptions(options).To(&r)) return Nothing<bool>(); + if (r < 0) { SetError(r); return Just(false); |