diff --git a/lib/net.js b/lib/net.js index b5ae15e4692393..c144caaf7d17bd 100644 --- a/lib/net.js +++ b/lib/net.js @@ -927,7 +927,8 @@ function lookupAndConnect(self, options) { var addressType = exports.isIP(host); if (addressType) { process.nextTick(function() { - connect(self, host, port, addressType, localAddress, localPort); + if (self._connecting) + connect(self, host, port, addressType, localAddress, localPort); }); return; } diff --git a/test/parallel/test-net-connect-immediate-destroy.js b/test/parallel/test-net-connect-immediate-destroy.js new file mode 100644 index 00000000000000..37dc4b2d9a2391 --- /dev/null +++ b/test/parallel/test-net-connect-immediate-destroy.js @@ -0,0 +1,8 @@ +'use strict'; +const common = require('../common'); +const assert = require('assert'); +const net = require('net'); + +const socket = net.connect(common.PORT, common.localhostIPv4, assert.fail); +socket.on('error', assert.fail); +socket.destroy();