diff options
Diffstat (limited to 'sca-cpp/trunk/components/kvdb')
-rw-r--r-- | sca-cpp/trunk/components/kvdb/client-test.cpp | 4 | ||||
-rw-r--r-- | sca-cpp/trunk/components/kvdb/kvdb.cpp | 2 | ||||
-rw-r--r-- | sca-cpp/trunk/components/kvdb/leveldb.hpp | 11 |
3 files changed, 14 insertions, 3 deletions
diff --git a/sca-cpp/trunk/components/kvdb/client-test.cpp b/sca-cpp/trunk/components/kvdb/client-test.cpp index fc31a99e69..5f0ef21d00 100644 --- a/sca-cpp/trunk/components/kvdb/client-test.cpp +++ b/sca-cpp/trunk/components/kvdb/client-test.cpp @@ -93,8 +93,8 @@ bool testNoSqlDb() { struct getLoop { const string path; const value entry; - http::CURLSession cs; - getLoop(const string& path, const value& entry, http::CURLSession cs) : path(path), entry(entry), cs(cs) { + http::CURLSession& cs; + getLoop(const string& path, const value& entry, http::CURLSession& cs) : path(path), entry(entry), cs(cs) { } const bool operator()() const { const failable<value> val = http::get(uri + path, cs); diff --git a/sca-cpp/trunk/components/kvdb/kvdb.cpp b/sca-cpp/trunk/components/kvdb/kvdb.cpp index 24a2fb5a16..0df8f13882 100644 --- a/sca-cpp/trunk/components/kvdb/kvdb.cpp +++ b/sca-cpp/trunk/components/kvdb/kvdb.cpp @@ -102,7 +102,7 @@ private: */ const failable<value> start(unused const list<value>& params) { // Connect to the configured database and table - const value dbname = ((lambda<value(list<value>)>)car(params))(list<value>()); + const value dbname = ((lambda<const value(list<value>&)>)car(params))(list<value>()); leveldb::LevelDB& cdb = *(new (gc_new<leveldb::LevelDB>()) leveldb::LevelDB(dbname)); // Return the component implementation lambda function diff --git a/sca-cpp/trunk/components/kvdb/leveldb.hpp b/sca-cpp/trunk/components/kvdb/leveldb.hpp index 8105f86ec4..05a89a76f7 100644 --- a/sca-cpp/trunk/components/kvdb/leveldb.hpp +++ b/sca-cpp/trunk/components/kvdb/leveldb.hpp @@ -121,6 +121,17 @@ public: st.st_ino = c.st.st_ino; } + const LevelDB& operator=(const LevelDB& c) { + debug("leveldb::leveldb::operator="); + if(this == &c) + return *this; + owner = false; + name = c.name; + fd = c.fd; + st.st_ino = c.st.st_ino; + return *this; + } + ~LevelDB() { debug("leveldb::~leveldb"); if (!owner) |