fixed GH #1488: Poco::ObjectPool shrinks if returned object is not valid

This commit is contained in:
Guenter Obiltschnig
2016-12-05 22:46:43 +01:00
parent 19c0b38bf8
commit c9c21de32a

View File

@@ -244,18 +244,18 @@ public:
_factory.deactivateObject(pObject); _factory.deactivateObject(pObject);
if (_pool.size() < _capacity) if (_pool.size() < _capacity)
{ {
_pool.push_back(pObject); try
} {
else _pool.push_back(pObject);
{ return;
_factory.destroyObject(pObject); }
_size--; catch (...)
{
}
} }
} }
else _factory.destroyObject(pObject);
{ _size--;
_factory.destroyObject(pObject);
}
} }
std::size_t capacity() const std::size_t capacity() const