only ref non-default isolate loops

v0.7.4-release
Igor Zinkovsky 2012-01-21 14:35:25 -08:00
parent e10ed097cb
commit 6d00c089e3
1 changed files with 4 additions and 5 deletions

View File

@ -269,6 +269,10 @@ Isolate::Isolate() {
loop_ = uv_default_loop(); loop_ = uv_default_loop();
} else { } else {
loop_ = uv_loop_new(); loop_ = uv_loop_new();
// Artificially ref the isolate loop so that the child
// isolate stays alive by default. process.exit will
// unref the loop (see Isolate::Unref).
uv_ref(loop_);
} }
debug_state = kNone; debug_state = kNone;
@ -280,11 +284,6 @@ Isolate::Isolate() {
assert(v8_isolate_->GetData() == NULL); assert(v8_isolate_->GetData() == NULL);
v8_isolate_->SetData(this); v8_isolate_->SetData(this);
// Artificially ref the isolate loop so that the child
// isolate stays alive by default. process.exit will
// unref the loop (see Isolate::Unref).
uv_ref(loop_);
globals_init_ = false; globals_init_ = false;
} }