Most calls to ref() and unref() are chainable, timers should be
chainable, too.
Typical use:
var to = setTimeout(ontimeout, 123).unref();
PR-URL: https://github.com/nodejs/node/pull/2905
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Trevor Norris <trevnorris@nodejs.org>
will wakeup the event loop, creating too many of these may adversely effect
event loop performance -- use wisely.
+Returns the timer.
+
## ref()
If you had previously `unref()`d a timer you can call `ref()` to explicitly
request the timer hold the program open. If the timer is already `ref`d calling
`ref` again will have no effect.
+Returns the timer.
+
## setImmediate(callback[, arg][, ...])
To schedule the "immediate" execution of `callback` after I/O events
this._handle.domain = this.domain;
this._handle.unref();
}
+ return this;
};
Timeout.prototype.ref = function() {
if (this._handle)
this._handle.ref();
+ return this;
};
Timeout.prototype.close = function() {
} else {
exports.unenroll(this);
}
+ return this;
};
var LONG_TIME = 10 * 1000;
var SHORT_TIME = 100;
+assert.doesNotThrow(function() {
+ setTimeout(function() {}, 10).unref().ref().unref();
+}, 'ref and unref are chainable');
+
+assert.doesNotThrow(function() {
+ setInterval(function() {}, 10).unref().ref().unref();
+}, 'ref and unref are chainable');
+
setInterval(function() {
interval_fired = true;
}, LONG_TIME).unref();