diff --git a/lib/net_uv.js b/lib/net_uv.js index b53b3ba89dc6..0fcdce9fe977 100644 --- a/lib/net_uv.js +++ b/lib/net_uv.js @@ -483,6 +483,11 @@ Socket.prototype.connect = function(port /* [host], [cb] */) { } else if (typeof host == 'string') { debug("connect: find host " + host); require('dns').lookup(host, function(err, ip, addressType) { + // It's possible we were destroyed while looking this up. + // XXX it would be great if we could cancel the promise returned by + // the look up. + if (!self._connecting) return; + if (err) { // net.createConnection() creates a net.Socket object and // immediately calls net.Socket.connect() on it (that's us).