mirror of
https://github.com/nodejs/node.git
synced 2024-11-28 22:46:31 +01:00
d8eb974a98
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');
|
|
});
|