Fixes regression introduced in
af249fa8a15bad8996187e73b480b30dcd881bad.
With connect being deferred to the next tick, Socket.destroy could be
called before connect. Socket.destroy sets _connecting to false which
would cause an assertion error.
Fixes: https://github.com/nodejs/io.js/issues/2250
PR-URL: https://github.com/nodejs/io.js/pull/2251
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Jeremiah Senkpiel <fishrock123@rocketmail.com>
Reviewed-By: Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
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;
}
--- /dev/null
+'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();