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);
if (_pool.size() < _capacity)
{
_pool.push_back(pObject);
}
else
{
_factory.destroyObject(pObject);
_size--;
try
{
_pool.push_back(pObject);
return;
}
catch (...)
{
}
}
}
else
{
_factory.destroyObject(pObject);
}
_factory.destroyObject(pObject);
_size--;
}
std::size_t capacity() const