diff --git a/lib/net.js b/lib/net.js index 8d88c69bba..35eb84d498 100644 --- a/lib/net.js +++ b/lib/net.js @@ -717,7 +717,13 @@ Socket.prototype.connect = function() { // TCP require('dns').lookup(arguments[1], function(err, ip, addressType) { if (err) { - self.emit('error', err); + // net.createConnection() creates a net.Socket object and + // immediately calls net.Socket.connect() on it (that's us). + // There are no event listeners registered yet so defer the + // error event to the next tick. + process.nextTick(function() { + self.emit('error', err); + }); } else { timers.active(self); self.type = addressType == 4 ? 'tcp4' : 'tcp6';