diff options
author | ssuda <sambasivarao@gmail.com> | 2012-04-08 20:54:53 +0530 |
---|---|---|
committer | Ben Noordhuis <info@bnoordhuis.nl> | 2012-04-16 23:36:18 +0200 |
commit | 70005be4ffdcfed0ac371873fa79a308ae4cc546 (patch) | |
tree | 4171af41fa719babc17f49b15501d66124b1a446 /lib | |
parent | 540a441259713b14f78fd3d149db2a51102ba013 (diff) | |
download | android-node-v8-70005be4ffdcfed0ac371873fa79a308ae4cc546.tar.gz android-node-v8-70005be4ffdcfed0ac371873fa79a308ae4cc546.tar.bz2 android-node-v8-70005be4ffdcfed0ac371873fa79a308ae4cc546.zip |
Fixing ClientRequest setTimeout EventEmitter Leak
This will fix #3068
Diffstat (limited to 'lib')
-rw-r--r-- | lib/http.js | 5 | ||||
-rw-r--r-- | lib/net.js | 3 |
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/http.js b/lib/http.js index d54abc9d5e..a3f7118b8e 100644 --- a/lib/http.js +++ b/lib/http.js @@ -1471,6 +1471,11 @@ ClientRequest.prototype.setSocketKeepAlive = function() { this._deferToConnect('setKeepAlive', arguments); }; +ClientRequest.prototype.clearTimeout = function() { + var args = Array.prototype.slice.call(arguments, 0); + args.unshift(0); + this._deferToConnect('setTimeout', args); +}; exports.request = function(options, cb) { if (options.protocol && options.protocol !== 'http:') { diff --git a/lib/net.js b/lib/net.js index df29bd2908..6c2e86e832 100644 --- a/lib/net.js +++ b/lib/net.js @@ -173,6 +173,9 @@ Socket.prototype.setTimeout = function(msecs, callback) { } } else if (msecs === 0) { timers.unenroll(this); + if (callback) { + this.removeListener('timeout', callback); + } } }; |