Skip to content

Commit 88ff470

Browse files
committed
Merge pull request brianc#567 from brianc/fix-memory-leak
Fix memory leak with domains
2 parents 492f1eb + 9c87253 commit 88ff470

File tree

3 files changed

+6
-14
lines changed

3 files changed

+6
-14
lines changed

lib/native/query.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,9 @@ var NativeQuery = function(config, values, callback) {
1919
this.text = c.text;
2020
this.values = c.values;
2121
this.callback = c.callback;
22+
if(process.domain && c.callback) {
23+
this.callback = process.domain.bind(c.callback);
24+
}
2225
this.singleRowMode = false;
2326

2427
if(!this.callback) {

lib/pool.js

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -64,23 +64,9 @@ var pools = {
6464
pool.acquire(function(err, client) {
6565
if(domain) {
6666
cb = domain.bind(cb);
67-
domain.add(client);
68-
//native clients do not have a connection object
69-
if(client.connection) {
70-
domain.add(client.connection);
71-
domain.add(client.connection.stream);
72-
}
7367
}
7468
if(err) return cb(err, null, function() {/*NOOP*/});
7569
cb(null, client, function(err) {
76-
if(domain) {
77-
//native clients do not have a connection object
78-
if(client.connection) {
79-
domain.remove(client.connection.stream);
80-
domain.remove(client.connection);
81-
}
82-
domain.remove(client);
83-
}
8470
if(err) {
8571
pool.destroy(client);
8672
} else {

lib/query.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,9 @@ var Query = function(config, values, callback) {
2020
//use unique portal name each time
2121
this.portal = config.portal || "";
2222
this.callback = config.callback;
23+
if(process.domain && config.callback) {
24+
this.callback = process.domain.bind(config.callback);
25+
}
2326
this._fieldNames = [];
2427
this._fieldConverters = [];
2528
this._result = new Result(config.rowMode);

0 commit comments

Comments
 (0)