aboutsummaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorssuda <sambasivarao@gmail.com>2012-04-08 20:54:53 +0530
committerBen Noordhuis <info@bnoordhuis.nl>2012-04-16 23:36:18 +0200
commit70005be4ffdcfed0ac371873fa79a308ae4cc546 (patch)
tree4171af41fa719babc17f49b15501d66124b1a446 /lib
parent540a441259713b14f78fd3d149db2a51102ba013 (diff)
downloadandroid-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.js5
-rw-r--r--lib/net.js3
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);
+ }
}
};