diff --git a/src/util/ObjectsPool.hpp b/src/util/ObjectsPool.hpp index 0e330cfb..d3116f92 100644 --- a/src/util/ObjectsPool.hpp +++ b/src/util/ObjectsPool.hpp @@ -35,7 +35,9 @@ namespace util { std::shared_ptr create(Args&&... args) { std::lock_guard lock(mutex); if (freeObjects.empty()) { - if (!allocateNew()) { + try { + allocateNew(); + } catch (const std::bad_alloc&) { return std::make_shared(std::forward(args)...); } }