mirror of
https://github.com/pocoproject/poco.git
synced 2025-10-15 23:20:06 +02:00
fixed GH #1488: Poco::ObjectPool shrinks if returned object is not valid
This commit is contained in:
@@ -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
|
||||||
{
|
{
|
||||||
|
Reference in New Issue
Block a user