|
|
@ -22,19 +22,27 @@ |
|
|
|
var common = require('../common'); |
|
|
|
var assert = require('assert'); |
|
|
|
var net = require('net'); |
|
|
|
var dns = require('dns'); |
|
|
|
|
|
|
|
var serverGotEnd = false; |
|
|
|
var clientGotEnd = false; |
|
|
|
|
|
|
|
var server = net.createServer({allowHalfOpen: true}, function(socket) { |
|
|
|
dns.lookup('localhost', 6, function(err) { |
|
|
|
if (err) { |
|
|
|
console.error('Looks like IPv6 is not really supported'); |
|
|
|
console.error(err); |
|
|
|
return; |
|
|
|
} |
|
|
|
|
|
|
|
var server = net.createServer({allowHalfOpen: true}, function(socket) { |
|
|
|
socket.resume(); |
|
|
|
socket.on('end', function() { |
|
|
|
serverGotEnd = true; |
|
|
|
}); |
|
|
|
socket.end(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
server.listen(common.PORT, '::1', function() { |
|
|
|
server.listen(common.PORT, '::1', function() { |
|
|
|
var client = net.connect({ |
|
|
|
host: 'localhost', |
|
|
|
port: common.PORT, |
|
|
@ -54,10 +62,11 @@ server.listen(common.PORT, '::1', function() { |
|
|
|
server.close(); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
}); |
|
|
|
|
|
|
|
process.on('exit', function() { |
|
|
|
process.on('exit', function() { |
|
|
|
console.error('exit', serverGotEnd, clientGotEnd); |
|
|
|
assert(serverGotEnd); |
|
|
|
assert(clientGotEnd); |
|
|
|
}); |
|
|
|
}); |
|
|
|