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,19 +244,19 @@ 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;
}
catch (...)
{
}
}
}
_factory.destroyObject(pObject); _factory.destroyObject(pObject);
_size--; _size--;
} }
}
else
{
_factory.destroyObject(pObject);
}
}
std::size_t capacity() const std::size_t capacity() const
{ {