diff --git a/lib/http.js b/lib/http.js index 4f7aa0a00a2..3986709c2af 100644 --- a/lib/http.js +++ b/lib/http.js @@ -1209,6 +1209,13 @@ ClientRequest.prototype.onSocket = function(socket) { // fire on the request. req.emit('error', createHangUpError()); } + + // Nothing more to be done with this req, since the socket + // is closed, and we've emitted the appropriate abort/end/close/error + // events. Disavow all knowledge, and break the references to + // the variables trapped by closures and on the socket object. + req = null; + socket._httpMessage = null; } socket.on('close', closeListener);