mirror of
https://github.com/nodejs/node.git
synced 2025-05-02 14:56:19 +00:00

If IPv6 is not supported on a machine, the IPv6 handle will first be created, this will then fail and default to an IPv4 handle. This causes the graph to change, as there now is an extra handle. PR-URL: https://github.com/nodejs/node/pull/18143 Fixes: https://github.com/nodejs/node/issues/18003 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Anatoli Papirovski <apapirovski@mac.com> Reviewed-By: James M Snell <jasnell@gmail.com>
64 lines
1.7 KiB
JavaScript
64 lines
1.7 KiB
JavaScript
'use strict';
|
|
|
|
const common = require('../common');
|
|
if (!common.hasIPv6)
|
|
common.skip('IPv6 support required');
|
|
|
|
const initHooks = require('./init-hooks');
|
|
const verifyGraph = require('./verify-graph');
|
|
const http = require('http');
|
|
|
|
const hooks = initHooks();
|
|
hooks.enable();
|
|
|
|
const server = http.createServer(common.mustCall(function(req, res) {
|
|
res.end();
|
|
this.close(common.mustCall());
|
|
}));
|
|
server.listen(0, common.mustCall(function() {
|
|
http.get({
|
|
host: '::1',
|
|
family: 6,
|
|
port: server.address().port
|
|
}, common.mustCall());
|
|
}));
|
|
|
|
process.on('exit', function() {
|
|
hooks.disable();
|
|
|
|
verifyGraph(
|
|
hooks,
|
|
[ { type: 'TCPSERVERWRAP',
|
|
id: 'tcpserver:1',
|
|
triggerAsyncId: null },
|
|
{ type: 'TCPWRAP', id: 'tcp:1', triggerAsyncId: 'tcpserver:1' },
|
|
{ type: 'TCPCONNECTWRAP',
|
|
id: 'tcpconnect:1',
|
|
triggerAsyncId: 'tcp:1' },
|
|
{ type: 'HTTPPARSER',
|
|
id: 'httpparser:1',
|
|
triggerAsyncId: 'tcpserver:1' },
|
|
{ type: 'HTTPPARSER',
|
|
id: 'httpparser:2',
|
|
triggerAsyncId: 'tcpserver:1' },
|
|
{ type: 'TCPWRAP', id: 'tcp:2', triggerAsyncId: 'tcpserver:1' },
|
|
{ type: 'Timeout', id: 'timeout:1', triggerAsyncId: 'tcp:2' },
|
|
{ type: 'TIMERWRAP', id: 'timer:1', triggerAsyncId: 'tcp:2' },
|
|
{ type: 'HTTPPARSER',
|
|
id: 'httpparser:3',
|
|
triggerAsyncId: 'tcp:2' },
|
|
{ type: 'HTTPPARSER',
|
|
id: 'httpparser:4',
|
|
triggerAsyncId: 'tcp:2' },
|
|
{ type: 'Timeout',
|
|
id: 'timeout:2',
|
|
triggerAsyncId: 'httpparser:4' },
|
|
{ type: 'TIMERWRAP',
|
|
id: 'timer:2',
|
|
triggerAsyncId: 'httpparser:4' },
|
|
{ type: 'SHUTDOWNWRAP',
|
|
id: 'shutdown:1',
|
|
triggerAsyncId: 'tcp:2' } ]
|
|
);
|
|
});
|