summaryrefslogtreecommitdiffstats
path: root/sca-cpp/trunk/components/cache/mcache.hpp
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--sca-cpp/trunk/components/cache/mcache.hpp16
1 files changed, 10 insertions, 6 deletions
diff --git a/sca-cpp/trunk/components/cache/mcache.hpp b/sca-cpp/trunk/components/cache/mcache.hpp
index 9659c11788..4751975099 100644
--- a/sca-cpp/trunk/components/cache/mcache.hpp
+++ b/sca-cpp/trunk/components/cache/mcache.hpp
@@ -48,23 +48,28 @@ namespace cache {
*/
class MemCached {
public:
- MemCached() {
- apr_pool_create(&pool, NULL);
- apr_memcache_create(pool, 1, 0, &mc);
- init("localhost", 11211);
+ MemCached() : owner(false) {
}
- MemCached(const string host, const int port) {
+ MemCached(const string host, const int port) : owner(true) {
apr_pool_create(&pool, NULL);
apr_memcache_create(pool, 1, 0, &mc);
init(host, port);
}
+ MemCached(const MemCached& c) : owner(false) {
+ pool = c.pool;
+ mc = c.mc;
+ }
+
~MemCached() {
+ if (!owner)
+ return;
apr_pool_destroy(pool);
}
private:
+ bool owner;
apr_pool_t* pool;
apr_memcache_t* mc;
@@ -86,7 +91,6 @@ private:
return mkfailure<bool>("Could not add server");
return true;
}
-
};
/**