From a3fe85173773f6eff849a144edcdcf72302c241a Mon Sep 17 00:00:00 2001 From: artemp Date: Wed, 28 Nov 2012 17:04:53 +0000 Subject: [PATCH] + overwrite pool::maxSize_ with max value --- plugins/input/postgis/connection_manager.hpp | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/plugins/input/postgis/connection_manager.hpp b/plugins/input/postgis/connection_manager.hpp index cbf62f4a3..32bc66d8d 100644 --- a/plugins/input/postgis/connection_manager.hpp +++ b/plugins/input/postgis/connection_manager.hpp @@ -118,12 +118,19 @@ public: #ifdef MAPNIK_THREADSAFE //mutex::scoped_lock lock(mutex_); #endif - if (pools_.find(creator.id())==pools_.end()) - { - return pools_.insert(std::make_pair(creator.id(), - boost::make_shared(creator,initialSize,maxSize))).second; - } + ContType::const_iterator itr = pools_.find(creator.id()); + if (itr != pools_.end()) + { + unsigned cur_size = itr->second->max_size(); + itr->second->set_max_size(std::max(maxSize, cur_size)); + } + else + { + return pools_.insert( + std::make_pair(creator.id(), + boost::make_shared(creator,initialSize,maxSize))).second; + } return false; }