bug fix. use deferred free for deleted keys
authorjdybnis <jdybnis@9ec2166a-aeea-11dd-8830-69e4bb380a4a>
Mon, 10 Nov 2008 06:59:52 +0000 (06:59 +0000)
committerjdybnis <jdybnis@9ec2166a-aeea-11dd-8830-69e4bb380a4a>
Mon, 10 Nov 2008 06:59:52 +0000 (06:59 +0000)
struct/ht.c

index 8d5e1600e3ad6d5441bcec4baf4c52fa6fff6b33..54eb2e05724a6a2f68c98640d3b616699e2a05af 100644 (file)
@@ -217,7 +217,7 @@ static int hti_copy_entry (hash_table_i_t *old_hti, volatile entry_t *old_e, uin
     // be freed.
     assert(COPIED_VALUE == TAG_VALUE(TOMBSTONE));
     if (old_e_value == TOMBSTONE) {
-        nbd_free((string_t *)(old_e->key & MASK(48)));
+        nbd_defer_free((string_t *)(old_e->key & MASK(48)));
         return TRUE; 
     }
     old_e_value = STRIP_TAG(old_e_value);