mirror of
https://github.com/nodejs/node.git
synced 2025-05-06 09:02:40 +00:00

Currently, the unref() method does not remember any state if called before the server's handle has been created. This commit adds state to track calls to ref() and unref(). PR-URL: https://github.com/iojs/io.js/pull/897 Reviewed-By: Evan Lucas <evanlucas@me.com> Reviewed-By: Brendan Ashworth <brendan.ashworth@me.com>
21 lines
541 B
JavaScript
21 lines
541 B
JavaScript
var common = require('../common');
|
|
var assert = require('assert');
|
|
var net = require('net');
|
|
var closed = false;
|
|
var server = net.createServer();
|
|
|
|
// unref before listening
|
|
server.unref();
|
|
server.listen();
|
|
|
|
// If the timeout fires, that means the server held the event loop open
|
|
// and the unref() was not persistent. Close the server and fail the test.
|
|
setTimeout(function() {
|
|
closed = true;
|
|
server.close();
|
|
}, 1000).unref();
|
|
|
|
process.on('exit', function() {
|
|
assert.strictEqual(closed, false, 'server should not hold loop open');
|
|
});
|