net.createConnection() creates a net.Socket object
and immediately calls net.Socket.connect() on it.
There are no event listeners registered yet so
defer the error event to the next tick.
Fixes #1202.
// TCP
require('dns').lookup(host, 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 {
addressType = addressType || 4;
debug("connect: find host " + host);
require('dns').lookup(host, 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);