diff --git a/icu_config.gypi b/icu_config.gypi new file mode 100644 index 00000000000000..a21b0ceaf86def --- /dev/null +++ b/icu_config.gypi @@ -0,0 +1,2 @@ +# Do not edit. Generated by the configure script. +{ 'variables': { }} diff --git a/lib/timers.js b/lib/timers.js index be39ea66def171..1893f19789c248 100644 --- a/lib/timers.js +++ b/lib/timers.js @@ -290,6 +290,14 @@ var Timeout = function(after) { this._repeat = false; }; + +function unrefdHandle() { + this.owner._onTimeout(); + if (!this.owner.repeat) + this.owner.close(); +} + + Timeout.prototype.unref = function() { if (!this._handle) { @@ -303,7 +311,8 @@ Timeout.prototype.unref = function() { if (delay < 0) delay = 0; exports.unenroll(this); this._handle = new Timer(); - this._handle.ontimeout = this._onTimeout; + this._handle.owner = this; + this._handle.ontimeout = unrefdHandle; this._handle.start(delay, 0); this._handle.domain = this.domain; this._handle.unref();