summaryrefslogtreecommitdiff
path: root/src/process_wrap.cc
diff options
context:
space:
mode:
authorFedor Indutny <fedor.indutny@gmail.com>2012-01-12 02:17:44 +0600
committerFedor Indutny <fedor.indutny@gmail.com>2012-01-12 02:17:44 +0600
commit9e6957b0a55e7ef8cd2a2efc066555da8d781355 (patch)
tree4e9835aca02883f3303623dd6c80cb55231cdc3e /src/process_wrap.cc
parent8abb73ef58ccb6fd1b8cc4266c9981ce6574c78f (diff)
parent07701e7cc85feaeaa0a2a6c8146b0cb3eefc12fe (diff)
downloadandroid-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.cc14
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));
}