diff options
author | Fedor Indutny <fedor.indutny@gmail.com> | 2012-01-12 02:17:44 +0600 |
---|---|---|
committer | Fedor Indutny <fedor.indutny@gmail.com> | 2012-01-12 02:17:44 +0600 |
commit | 9e6957b0a55e7ef8cd2a2efc066555da8d781355 (patch) | |
tree | 4e9835aca02883f3303623dd6c80cb55231cdc3e /src/process_wrap.cc | |
parent | 8abb73ef58ccb6fd1b8cc4266c9981ce6574c78f (diff) | |
parent | 07701e7cc85feaeaa0a2a6c8146b0cb3eefc12fe (diff) | |
download | android-node-v8-9e6957b0a55e7ef8cd2a2efc066555da8d781355.tar.gz android-node-v8-9e6957b0a55e7ef8cd2a2efc066555da8d781355.tar.bz2 android-node-v8-9e6957b0a55e7ef8cd2a2efc066555da8d781355.zip |
Merge branch 'v0.6'
Conflicts:
src/handle_wrap.cc
src/node_zlib.cc
src/process_wrap.cc
Diffstat (limited to 'src/process_wrap.cc')
-rw-r--r-- | src/process_wrap.cc | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/src/process_wrap.cc b/src/process_wrap.cc index 847a76352f..5c4282ffb0 100644 --- a/src/process_wrap.cc +++ b/src/process_wrap.cc @@ -178,10 +178,14 @@ class ProcessWrap : public HandleWrap { int r = uv_spawn(Loop(), &wrap->process_, options); - wrap->SetHandle((uv_handle_t*)&wrap->process_); - assert(wrap->process_.data == wrap); - - wrap->object_->Set(String::New("pid"), Integer::New(wrap->process_.pid)); + if (r) { + SetErrno(uv_last_error(Loop())); + } + else { + wrap->SetHandle((uv_handle_t*)&wrap->process_); + assert(wrap->process_.data == wrap); + wrap->object_->Set(String::New("pid"), Integer::New(wrap->process_.pid)); + } if (options.args) { for (int i = 0; options.args[i]; i++) free(options.args[i]); @@ -196,8 +200,6 @@ class ProcessWrap : public HandleWrap { delete [] options.env; } - if (r) SetErrno(uv_last_error(Loop())); - return scope.Close(Integer::New(r)); } |