]> pd.if.org Git - nbds/blobdiff - struct/ht_test.c
free its keys too when freeing a ht
[nbds] / struct / ht_test.c
index 61b2bfc29a432d6556586489cbc2721b35b0bbb9..fd7652446706cd55a2a59dab1db106184a017f18 100644 (file)
@@ -4,10 +4,9 @@
  */
 #include <stdio.h>
 #include <pthread.h>
+#include "runtime.h"
 #include "CuTest.h"
 #include "common.h"
-#include "nbd.h"
-#include "rcu.h"
 #include "ht.h"
 #include "mem.h"
 
@@ -94,9 +93,8 @@ void *simple_worker (void *arg) {
     hash_table_t *ht = wd->ht;
     CuTest* tc = wd->tc;
     uint64_t d = wd->id;
-    int iters = 20000;
+    int iters = 1000000;
 
-    nbd_thread_init(d);
     SYNC_ADD(wd->wait, -1);
     do { } while (*((volatile worker_data_t *)wd)->wait); // wait for all workers to be ready
 
@@ -132,8 +130,8 @@ void simple_add_remove (CuTest* tc) {
         wd[i].tc = tc;
         wd[i].ht = ht;
         wd[i].wait = &wait;
-        int rc = pthread_create(thread + i, NULL, simple_worker, wd + i);
-        if (rc != 0) { perror("pthread_create"); return; }
+        int rc = nbd_thread_create(thread + i, i, simple_worker, wd + i);
+        if (rc != 0) { perror("nbd_thread_create"); return; }
     }
     for (i = 0; i < 2; ++i) {
         pthread_join(thread[i], NULL);
@@ -161,8 +159,6 @@ void concurrent_insert (CuTest* tc) {
 int main (void) {
 
     nbd_init();
-    nbd_thread_init(0);
-
     //lwt_set_trace_level("h4");
 
     // Create and run test suite