Browse Source

Fix hash table result

It was inconsistent with the documentation.

git-svn-id: svn://bind10.isc.org/svn/bind10/branches/trac408@3477 e5f2f494-b856-4b98-b285-d166d9295462
Michal Vaner 14 years ago
parent
commit
d245b0e649
2 changed files with 4 additions and 4 deletions
  1. 2 2
      src/lib/nsas/hash_table.h
  2. 2 2
      src/lib/nsas/tests/hash_table_unittest.cc

+ 2 - 2
src/lib/nsas/hash_table.h

@@ -212,11 +212,11 @@ public:
         scoped_lock lock(table_[index].mutex_);
         boost::shared_ptr<T> result(getInternal(key, index));
         if (result) {
-            return (std::pair<bool, boost::shared_ptr<T> >(true, result));
+            return (std::pair<bool, boost::shared_ptr<T> >(false, result));
         } else {
             result = generator();
             addInternal(result, key, index);
-            return (std::pair<bool, boost::shared_ptr<T> >(false, result));
+            return (std::pair<bool, boost::shared_ptr<T> >(true, result));
         }
     }
 

+ 2 - 2
src/lib/nsas/tests/hash_table_unittest.cc

@@ -189,12 +189,12 @@ TEST_F(HashTableTest, GetOrAddTest) {
     // Check it looks it up
     std::pair<bool, shared_ptr<TestEntry> > result = table_.getOrAdd(
         dummy1_->hashKey(), boost::bind(pass, dummy3_));
-    EXPECT_TRUE(result.first);
+    EXPECT_FALSE(result.first);
     EXPECT_EQ(dummy1_.get(), result.second.get());
 
     // Check it says it adds the value
     result = table_.getOrAdd(dummy3_->hashKey(), boost::bind(pass, dummy3_));
-    EXPECT_FALSE(result.first);
+    EXPECT_TRUE(result.first);
     EXPECT_EQ(dummy3_.get(), result.second.get());
 
     // Check it really did add it