Parse the command line before initializing V8.
authorBen Noordhuis <info@bnoordhuis.nl>
Thu, 23 Jun 2011 20:44:10 +0000 (22:44 +0200)
committerRyan Dahl <ry@tinyclouds.org>
Tue, 5 Jul 2011 20:25:27 +0000 (13:25 -0700)
Doing it the other way around means that V8 won't pick
up command line switches like `--prof`.

Props to Joshua Kehn for reporting the issue and Jeff Fifield
for pointing out the cause.

Fixes #900.
Fixes #1217.

src/node.cc

index 70f9141..9b7f247 100644 (file)
@@ -2486,11 +2486,13 @@ void EmitExit(v8::Handle<v8::Object> process) {
 
 int Start(int argc, char *argv[]) {
   uv_init();
-  v8::V8::Initialize();
-  v8::HandleScope handle_scope;
 
+  // This needs to run *before* V8::Initialize()
   argv = Init(argc, argv);
 
+  v8::V8::Initialize();
+  v8::HandleScope handle_scope;
+
   // Create the one and only Context.
   Persistent<v8::Context> context = v8::Context::New();
   v8::Context::Scope context_scope(context);