Browse Source

Pre-process out assert()

v0.7.4-release
Ryan Dahl 14 years ago
parent
commit
f9f0e5c75c
  1. 12
      src/node.js
  2. 1
      wscript

12
src/node.js

@ -86,11 +86,13 @@
return startup._lazyConstants; return startup._lazyConstants;
}; };
var assert;
startup.processAssert = function() { startup.processAssert = function() {
process.assert = function(x, msg) { // Note that calls to assert() are pre-processed out by JS2C for the
if (!x) { // normal build of node. They persist only in the node_g build.
throw new Error(msg || 'assertion error'); // 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) { process.removeListener = function(type, listener) {
var ret = removeListener.apply(this, arguments); var ret = removeListener.apply(this, arguments);
if (isSignal(type)) { if (isSignal(type)) {
process.assert(signalWatchers.hasOwnProperty(type)); assert(signalWatchers.hasOwnProperty(type));
if (this.listeners(type).length === 0) { if (this.listeners(type).length === 0) {
signalWatchers[type].stop(); signalWatchers[type].stop();

1
wscript

@ -601,6 +601,7 @@ def build(bld):
make_macros(macros_loc_debug, "") # leave debug(x) as is in debug build make_macros(macros_loc_debug, "") # leave debug(x) as is in debug build
# replace debug(x) with nothing in release build # replace debug(x) with nothing in release build
make_macros(macros_loc_default, "macro debug(x) = ;\n") make_macros(macros_loc_default, "macro debug(x) = ;\n")
make_macros(macros_loc_default, "macro assert(x) = ;\n")
if not bld.env["USE_DTRACE"]: if not bld.env["USE_DTRACE"]:
make_macros(macros_loc_default, "macro DTRACE_HTTP_SERVER_RESPONSE(x) = ;\n"); make_macros(macros_loc_default, "macro DTRACE_HTTP_SERVER_RESPONSE(x) = ;\n");

Loading…
Cancel
Save