From bc5f860437c8ce12ef89ca12b569cfdabbfdc39a Mon Sep 17 00:00:00 2001 From: Artem Pavlenko Date: Tue, 28 Nov 2006 00:16:53 +0000 Subject: [PATCH] don't keep bad connections around --- include/mapnik/pool.hpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/include/mapnik/pool.hpp b/include/mapnik/pool.hpp index fb749e1d8..c544bda2e 100644 --- a/include/mapnik/pool.hpp +++ b/include/mapnik/pool.hpp @@ -82,7 +82,9 @@ namespace mapnik { for (unsigned i=0; i < initialSize_; ++i) { - unusedPool_.push_back(HolderType(creator_())); + HolderType conn(creator_()); + if (conn->isOK()) + unusedPool_.push_back(conn); } } @@ -102,13 +104,15 @@ namespace mapnik else if (unusedPool_.size() < maxSize_) { HolderType conn(creator_()); - usedPool_.push_back(conn); + if (conn->isOK()) + { + usedPool_.push_back(conn); #ifdef MAPNIK_DEBUG std::clog << "create << " << conn.get() << "\n"; #endif return conn; + } } - return HolderType(); }