Don't emit error events parsed out of data stream
This commit is contained in:
parent
715e5009dd
commit
e5a63ab58d
@ -23,9 +23,14 @@ var pools = {
|
|||||||
log: clientConfig.poolLog || defaults.poolLog,
|
log: clientConfig.poolLog || defaults.poolLog,
|
||||||
create: function(cb) {
|
create: function(cb) {
|
||||||
var client = new pools.Client(clientConfig);
|
var client = new pools.Client(clientConfig);
|
||||||
|
// Ignore errors on pooled clients until they are connected.
|
||||||
|
client.on('error', Function.prototype);
|
||||||
client.connect(function(err) {
|
client.connect(function(err) {
|
||||||
if(err) return cb(err, null);
|
if(err) return cb(err, null);
|
||||||
|
|
||||||
|
// Remove the noop error handler after a connection has been established.
|
||||||
|
client.removeListener('error', Function.prototype);
|
||||||
|
|
||||||
//handle connected client background errors by emitting event
|
//handle connected client background errors by emitting event
|
||||||
//via the pg object and then removing errored client from the pool
|
//via the pg object and then removing errored client from the pool
|
||||||
client.on('error', function(e) {
|
client.on('error', function(e) {
|
||||||
|
@ -121,9 +121,10 @@ test('pool with connection error on connection', function() {
|
|||||||
process.nextTick(function() {
|
process.nextTick(function() {
|
||||||
cb(new Error('Could not connect'));
|
cb(new Error('Could not connect'));
|
||||||
});
|
});
|
||||||
}
|
},
|
||||||
|
on: Function.prototype
|
||||||
|
};
|
||||||
};
|
};
|
||||||
}
|
|
||||||
test('two parameters', function() {
|
test('two parameters', function() {
|
||||||
var p = pools.getOrCreate(poolId++);
|
var p = pools.getOrCreate(poolId++);
|
||||||
p.connect(assert.calls(function(err, client) {
|
p.connect(assert.calls(function(err, client) {
|
||||||
|
Loading…
Reference in New Issue
Block a user