diff --git a/src/node.js b/src/node.js index a2a5f3f940f..0012b40a9d9 100644 --- a/src/node.js +++ b/src/node.js @@ -86,11 +86,13 @@ return startup._lazyConstants; }; + var assert; startup.processAssert = function() { - process.assert = function(x, msg) { - if (!x) { - throw new Error(msg || 'assertion error'); - } + // Note that calls to assert() are pre-processed out by JS2C for the + // normal build of node. They persist only in the node_g build. + // Similarly for debug(). + assert = process.assert = function(x, msg) { + if (!x) throw new Error(msg || 'assertion error'); }; }; @@ -229,7 +231,7 @@ process.removeListener = function(type, listener) { var ret = removeListener.apply(this, arguments); if (isSignal(type)) { - process.assert(signalWatchers.hasOwnProperty(type)); + assert(signalWatchers.hasOwnProperty(type)); if (this.listeners(type).length === 0) { signalWatchers[type].stop(); diff --git a/wscript b/wscript index bc07ba36e9b..2fb8f9ad32c 100644 --- a/wscript +++ b/wscript @@ -601,6 +601,7 @@ def build(bld): make_macros(macros_loc_debug, "") # leave debug(x) as is in debug build # replace debug(x) with nothing in release build make_macros(macros_loc_default, "macro debug(x) = ;\n") + make_macros(macros_loc_default, "macro assert(x) = ;\n") if not bld.env["USE_DTRACE"]: make_macros(macros_loc_default, "macro DTRACE_HTTP_SERVER_RESPONSE(x) = ;\n");