Skip to content

Instantly share code, notes, and snippets.

@misterdjules
Last active August 29, 2015 14:17
Show Gist options
  • Save misterdjules/c25c2506d0370a3d196f to your computer and use it in GitHub Desktop.
Save misterdjules/c25c2506d0370a3d196f to your computer and use it in GitHub Desktop.
➜  v0.12 git:(v0.12) ✗ git diff
diff --git a/src/node.cc b/src/node.cc
index c8dfe04..3a764c7 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -3708,15 +3708,6 @@ int Start(int argc, char** argv) {
     bool more;
     do {
       more = uv_run(env->event_loop(), UV_RUN_ONCE);
-      if (more == false) {
-        EmitBeforeExit(env);
-
-        // Emit `beforeExit` if the loop became alive either after emitting
-        // event, or after running some callbacks.
-        more = uv_loop_alive(env->event_loop());
-        if (uv_run(env->event_loop(), UV_RUN_NOWAIT) != 0)
-          more = true;
-      }
     } while (more == true);
     code = EmitExit(env);
     RunAtExit(env);
➜  v0.12 git:(v0.12) ✗ make
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C out BUILDTYPE=Release V=1
  c++ '-D_DARWIN_USE_64_BIT_INODE=1' '-DNODE_WANT_INTERNALS=1' '-DARCH="x64"' '-DNODE_TAG=""' '-DNODE_V8_OPTIONS=""' '-DHAVE_OPENSSL=1' '-DHAVE_DTRACE=1' '-D__POSIX__' '-DPLATFORM="darwin"' '-DHTTP_PARSER_STRICT=0' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' -I../src -I../tools/msvs/genfiles -I../deps/uv/src/ares -I/Users/JulienGilli/dev/node/v0.12/out/Release/obj/gen -I../deps/debugger-agent/include -I../deps/openssl/openssl/include -I../deps/v8/include -I../deps/zlib -I../deps/http_parser -I../deps/cares/include -I../deps/uv/include  -Os -gdwarf-2 -mmacosx-version-min=10.5 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -fno-rtti -fno-exceptions -fno-threadsafe-statics -fno-strict-aliasing -MMD -MF /Users/JulienGilli/dev/node/v0.12/out/Release/.deps//Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node.o.d.raw  -c -o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node.o ../src/node.cc
  ./gyp-mac-tool flock /Users/JulienGilli/dev/node/v0.12/out/Release/linker.lock c++ -Wl,-force_load,/Users/JulienGilli/dev/node/v0.12/out/Release/libopenssl.a -Wl,-force_load,/Users/JulienGilli/dev/node/v0.12/out/Release/libv8_base.a -Wl,-search_paths_first -mmacosx-version-min=10.5 -arch x86_64 -L/Users/JulienGilli/dev/node/v0.12/out/Release  -o "/Users/JulienGilli/dev/node/v0.12/out/Release/node" /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/async-wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/fs_event_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/cares_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/handle_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_buffer.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_constants.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_contextify.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_file.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_http_parser.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_javascript.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_main.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_os.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_v8.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_stat_watcher.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_watchdog.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_zlib.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_i18n.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/pipe_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/signal_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/smalloc.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/spawn_sync.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/string_bytes.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/stream_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/tcp_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/timer_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/tty_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/process_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/udp_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/uv.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/util.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_crypto.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_crypto_bio.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_crypto_clienthello.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/tls_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_dtrace.o /Users/JulienGilli/dev/node/v0.12/out/Release/libdebugger-agent.a /Users/JulienGilli/dev/node/v0.12/out/Release/libopenssl.a /Users/JulienGilli/dev/node/v0.12/out/Release/libchrome_zlib.a /Users/JulienGilli/dev/node/v0.12/out/Release/libhttp_parser.a /Users/JulienGilli/dev/node/v0.12/out/Release/libcares.a /Users/JulienGilli/dev/node/v0.12/out/Release/libuv.a /Users/JulienGilli/dev/node/v0.12/out/Release/libv8_base.a /Users/JulienGilli/dev/node/v0.12/out/Release/libv8_libbase.a /Users/JulienGilli/dev/node/v0.12/out/Release/libv8_snapshot.a -framework CoreFoundation -lm
  LINK(target) /Users/JulienGilli/dev/node/v0.12/out/Release/node: Finished
ln -fs out/Release/node node
➜  v0.12 git:(v0.12) ✗ cat ~/dev/repros/timers-process-on-exit.js   
var assert = require("assert")
var intervals = 0
var i = setInterval(function () {
  intervals++
  i.unref()
  eatTime()
}, 10)

function eatTime() {
  // the goal of this function is to take longer than the interval
  var count = 0
  while (count++ < 1e7) {
    Math.random()
  }
}

process.on("exit", function () {
  assert.equal(intervals, 1)
})
➜  v0.12 git:(v0.12) ✗ ./node ~/dev/repros/timers-process-on-exit.js

assert.js:86
  throw new assert.AssertionError({
        ^
AssertionError: 3 == 1
    at process.<anonymous> (/Users/JulienGilli/dev/repros/timers-process-on-exit.js:18:10)
    at process.emit (events.js:107:17)
➜  v0.12 git:(v0.12) ✗ git diff
diff --git a/src/node.cc b/src/node.cc
index c8dfe04..7a2cf59 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -3707,16 +3707,7 @@ int Start(int argc, char** argv) {
 
     bool more;
     do {
-      more = uv_run(env->event_loop(), UV_RUN_ONCE);
-      if (more == false) {
-        EmitBeforeExit(env);
-
-        // Emit `beforeExit` if the loop became alive either after emitting
-        // event, or after running some callbacks.
-        more = uv_loop_alive(env->event_loop());
-        if (uv_run(env->event_loop(), UV_RUN_NOWAIT) != 0)
-          more = true;
-      }
+      more = uv_run(env->event_loop(), UV_RUN_NOWAIT);
     } while (more == true);
     code = EmitExit(env);
     RunAtExit(env);
➜  v0.12 git:(v0.12) ✗ make
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C out BUILDTYPE=Release V=1
  c++ '-D_DARWIN_USE_64_BIT_INODE=1' '-DNODE_WANT_INTERNALS=1' '-DARCH="x64"' '-DNODE_TAG=""' '-DNODE_V8_OPTIONS=""' '-DHAVE_OPENSSL=1' '-DHAVE_DTRACE=1' '-D__POSIX__' '-DPLATFORM="darwin"' '-DHTTP_PARSER_STRICT=0' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' -I../src -I../tools/msvs/genfiles -I../deps/uv/src/ares -I/Users/JulienGilli/dev/node/v0.12/out/Release/obj/gen -I../deps/debugger-agent/include -I../deps/openssl/openssl/include -I../deps/v8/include -I../deps/zlib -I../deps/http_parser -I../deps/cares/include -I../deps/uv/include  -Os -gdwarf-2 -mmacosx-version-min=10.5 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -fno-rtti -fno-exceptions -fno-threadsafe-statics -fno-strict-aliasing -MMD -MF /Users/JulienGilli/dev/node/v0.12/out/Release/.deps//Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node.o.d.raw  -c -o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node.o ../src/node.cc
  ./gyp-mac-tool flock /Users/JulienGilli/dev/node/v0.12/out/Release/linker.lock c++ -Wl,-force_load,/Users/JulienGilli/dev/node/v0.12/out/Release/libopenssl.a -Wl,-force_load,/Users/JulienGilli/dev/node/v0.12/out/Release/libv8_base.a -Wl,-search_paths_first -mmacosx-version-min=10.5 -arch x86_64 -L/Users/JulienGilli/dev/node/v0.12/out/Release  -o "/Users/JulienGilli/dev/node/v0.12/out/Release/node" /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/async-wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/fs_event_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/cares_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/handle_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_buffer.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_constants.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_contextify.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_file.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_http_parser.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_javascript.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_main.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_os.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_v8.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_stat_watcher.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_watchdog.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_zlib.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_i18n.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/pipe_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/signal_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/smalloc.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/spawn_sync.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/string_bytes.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/stream_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/tcp_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/timer_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/tty_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/process_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/udp_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/uv.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/util.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_crypto.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_crypto_bio.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_crypto_clienthello.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/tls_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_dtrace.o /Users/JulienGilli/dev/node/v0.12/out/Release/libdebugger-agent.a /Users/JulienGilli/dev/node/v0.12/out/Release/libopenssl.a /Users/JulienGilli/dev/node/v0.12/out/Release/libchrome_zlib.a /Users/JulienGilli/dev/node/v0.12/out/Release/libhttp_parser.a /Users/JulienGilli/dev/node/v0.12/out/Release/libcares.a /Users/JulienGilli/dev/node/v0.12/out/Release/libuv.a /Users/JulienGilli/dev/node/v0.12/out/Release/libv8_base.a /Users/JulienGilli/dev/node/v0.12/out/Release/libv8_libbase.a /Users/JulienGilli/dev/node/v0.12/out/Release/libv8_snapshot.a -framework CoreFoundation -lm
  LINK(target) /Users/JulienGilli/dev/node/v0.12/out/Release/node: Finished
ln -fs out/Release/node node
➜  v0.12 git:(v0.12) ✗ ./node ~/dev/repros/timers-process-on-exit.js
➜  v0.12 git:(v0.12) ✗ diff --git a/src/node.cc b/src/node.cc
index c8dfe04..363c3a9 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -3705,19 +3705,8 @@ int Start(int argc, char** argv) {
     if (use_debug_agent)
       EnableDebug(env);
 
-    bool more;
-    do {
-      more = uv_run(env->event_loop(), UV_RUN_ONCE);
-      if (more == false) {
-        EmitBeforeExit(env);
-
-        // Emit `beforeExit` if the loop became alive either after emitting
-        // event, or after running some callbacks.
-        more = uv_loop_alive(env->event_loop());
-        if (uv_run(env->event_loop(), UV_RUN_NOWAIT) != 0)
-          more = true;
-      }
-    } while (more == true);
+    uv_run(env->event_loop(), UV_RUN_DEFAULT);
+
     code = EmitExit(env);
     RunAtExit(env);
 
➜  v0.12 git:(v0.12) ✗ make
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C out BUILDTYPE=Release V=1
  c++ '-D_DARWIN_USE_64_BIT_INODE=1' '-DNODE_WANT_INTERNALS=1' '-DARCH="x64"' '-DNODE_TAG=""' '-DNODE_V8_OPTIONS=""' '-DHAVE_OPENSSL=1' '-DHAVE_DTRACE=1' '-D__POSIX__' '-DPLATFORM="darwin"' '-DHTTP_PARSER_STRICT=0' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' -I../src -I../tools/msvs/genfiles -I../deps/uv/src/ares -I/Users/JulienGilli/dev/node/v0.12/out/Release/obj/gen -I../deps/debugger-agent/include -I../deps/openssl/openssl/include -I../deps/v8/include -I../deps/zlib -I../deps/http_parser -I../deps/cares/include -I../deps/uv/include  -Os -gdwarf-2 -mmacosx-version-min=10.5 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -fno-rtti -fno-exceptions -fno-threadsafe-statics -fno-strict-aliasing -MMD -MF /Users/JulienGilli/dev/node/v0.12/out/Release/.deps//Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node.o.d.raw  -c -o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node.o ../src/node.cc
  ./gyp-mac-tool flock /Users/JulienGilli/dev/node/v0.12/out/Release/linker.lock c++ -Wl,-force_load,/Users/JulienGilli/dev/node/v0.12/out/Release/libopenssl.a -Wl,-force_load,/Users/JulienGilli/dev/node/v0.12/out/Release/libv8_base.a -Wl,-search_paths_first -mmacosx-version-min=10.5 -arch x86_64 -L/Users/JulienGilli/dev/node/v0.12/out/Release  -o "/Users/JulienGilli/dev/node/v0.12/out/Release/node" /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/async-wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/fs_event_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/cares_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/handle_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_buffer.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_constants.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_contextify.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_file.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_http_parser.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_javascript.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_main.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_os.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_v8.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_stat_watcher.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_watchdog.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_zlib.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_i18n.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/pipe_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/signal_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/smalloc.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/spawn_sync.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/string_bytes.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/stream_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/tcp_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/timer_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/tty_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/process_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/udp_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/uv.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/util.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_crypto.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_crypto_bio.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_crypto_clienthello.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/tls_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_dtrace.o /Users/JulienGilli/dev/node/v0.12/out/Release/libdebugger-agent.a /Users/JulienGilli/dev/node/v0.12/out/Release/libopenssl.a /Users/JulienGilli/dev/node/v0.12/out/Release/libchrome_zlib.a /Users/JulienGilli/dev/node/v0.12/out/Release/libhttp_parser.a /Users/JulienGilli/dev/node/v0.12/out/Release/libcares.a /Users/JulienGilli/dev/node/v0.12/out/Release/libuv.a /Users/JulienGilli/dev/node/v0.12/out/Release/libv8_base.a /Users/JulienGilli/dev/node/v0.12/out/Release/libv8_libbase.a /Users/JulienGilli/dev/node/v0.12/out/Release/libv8_snapshot.a -framework CoreFoundation -lm
  LINK(target) /Users/JulienGilli/dev/node/v0.12/out/Release/node: Finished
ln -fs out/Release/node node
➜  v0.12 git:(v0.12) ✗ ./node ~/dev/repros/timers-process-on-exit.js
➜  v0.12 git:(v0.12) ✗ git diff
diff --git a/src/node.cc b/src/node.cc
index c8dfe04..385f3e4 100644
--- a/src/node.cc
+++ b/src/node.cc
@@ -3707,7 +3707,7 @@ int Start(int argc, char** argv) {
 
     bool more;
     do {
-      more = uv_run(env->event_loop(), UV_RUN_ONCE);
+      more = uv_run(env->event_loop(), UV_RUN_NOWAIT);
       if (more == false) {
         EmitBeforeExit(env);
 
➜  v0.12 git:(v0.12) make
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C out BUILDTYPE=Release V=1
  c++ '-D_DARWIN_USE_64_BIT_INODE=1' '-DNODE_WANT_INTERNALS=1' '-DARCH="x64"' '-DNODE_TAG=""' '-DNODE_V8_OPTIONS=""' '-DHAVE_OPENSSL=1' '-DHAVE_DTRACE=1' '-D__POSIX__' '-DPLATFORM="darwin"' '-DHTTP_PARSER_STRICT=0' '-D_LARGEFILE_SOURCE' '-D_FILE_OFFSET_BITS=64' -I../src -I../tools/msvs/genfiles -I../deps/uv/src/ares -I/Users/JulienGilli/dev/node/v0.12/out/Release/obj/gen -I../deps/debugger-agent/include -I../deps/openssl/openssl/include -I../deps/v8/include -I../deps/zlib -I../deps/http_parser -I../deps/cares/include -I../deps/uv/include  -Os -gdwarf-2 -mmacosx-version-min=10.5 -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -fno-rtti -fno-exceptions -fno-threadsafe-statics -fno-strict-aliasing -MMD -MF /Users/JulienGilli/dev/node/v0.12/out/Release/.deps//Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node.o.d.raw  -c -o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node.o ../src/node.cc
  ./gyp-mac-tool flock /Users/JulienGilli/dev/node/v0.12/out/Release/linker.lock c++ -Wl,-force_load,/Users/JulienGilli/dev/node/v0.12/out/Release/libopenssl.a -Wl,-force_load,/Users/JulienGilli/dev/node/v0.12/out/Release/libv8_base.a -Wl,-search_paths_first -mmacosx-version-min=10.5 -arch x86_64 -L/Users/JulienGilli/dev/node/v0.12/out/Release  -o "/Users/JulienGilli/dev/node/v0.12/out/Release/node" /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/async-wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/fs_event_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/cares_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/handle_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_buffer.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_constants.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_contextify.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_file.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_http_parser.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_javascript.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_main.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_os.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_v8.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_stat_watcher.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_watchdog.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_zlib.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_i18n.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/pipe_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/signal_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/smalloc.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/spawn_sync.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/string_bytes.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/stream_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/tcp_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/timer_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/tty_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/process_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/udp_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/uv.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/util.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_crypto.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_crypto_bio.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_crypto_clienthello.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/tls_wrap.o /Users/JulienGilli/dev/node/v0.12/out/Release/obj.target/node/src/node_dtrace.o /Users/JulienGilli/dev/node/v0.12/out/Release/libdebugger-agent.a /Users/JulienGilli/dev/node/v0.12/out/Release/libopenssl.a /Users/JulienGilli/dev/node/v0.12/out/Release/libchrome_zlib.a /Users/JulienGilli/dev/node/v0.12/out/Release/libhttp_parser.a /Users/JulienGilli/dev/node/v0.12/out/Release/libcares.a /Users/JulienGilli/dev/node/v0.12/out/Release/libuv.a /Users/JulienGilli/dev/node/v0.12/out/Release/libv8_base.a /Users/JulienGilli/dev/node/v0.12/out/Release/libv8_libbase.a /Users/JulienGilli/dev/node/v0.12/out/Release/libv8_snapshot.a -framework CoreFoundation -lm
  LINK(target) /Users/JulienGilli/dev/node/v0.12/out/Release/node: Finished
ln -fs out/Release/node node
➜  v0.12 git:(v0.12) ✗ ./node ~/dev/repros/timers-process-on-exit.js
➜  v0.12 git:(v0.12) ✗
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment