X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=tests%2Fbenchmark%2Ftest_urcu_hash.c;h=d7e09b325f58f5b3641bb2e5354b8b82f58d63d9;hp=2aa1e9df9ac55f44f9e9e138c2207090ee9ac80c;hb=bd23a6c64e8ccff9a666441958e34793748ebd3a;hpb=0614a2e61ccbf150cc51d4fd3073b285983417c5 diff --git a/tests/benchmark/test_urcu_hash.c b/tests/benchmark/test_urcu_hash.c index 2aa1e9d..d7e09b3 100644 --- a/tests/benchmark/test_urcu_hash.c +++ b/tests/benchmark/test_urcu_hash.c @@ -56,26 +56,31 @@ struct test_hash_cb test_hash_cb[] = { static enum test_hash test_choice = TEST_HASH_RW; +static void (*get_sigusr1_cb(void))(int) { return test_hash_cb[test_choice].sigusr1; } +static void (*get_sigusr2_cb(void))(int) { return test_hash_cb[test_choice].sigusr2; } +static void *(*get_thr_reader_cb(void))(void *) { return test_hash_cb[test_choice].thr_reader; } +static void *(*get_thr_writer_cb(void))(void *) { return test_hash_cb[test_choice].thr_writer; } +static int (*get_populate_hash_cb(void))(void) { return test_hash_cb[test_choice].populate_hash; @@ -194,6 +199,7 @@ unsigned long test_compare(const void *key1, size_t key1_len, return 1; } +static void *thr_count(void *arg) { printf_verbose("thread_begin %s, tid %lu\n", @@ -259,6 +265,7 @@ void test_delete_all_nodes(struct cds_lfht *ht) printf("deleted %lu nodes.\n", count); } +static void show_usage(int argc, char **argv) { printf("Usage : %s nr_readers nr_writers duration (s) \n", @@ -684,11 +691,11 @@ end_pthread_join: } { char msg[1] = { 0x42 }; - ssize_t ret; + ssize_t sret; do { - ret = write(count_pipe[1], msg, 1); /* wakeup thread */ - } while (ret == -1L && errno == EINTR); + sret = write(count_pipe[1], msg, 1); /* wakeup thread */ + } while (sret == -1L && errno == EINTR); } err = pthread_join(tid_count, &tret); if (err != 0) {