X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=rculfhash-internal.h;fp=rculfhash-internal.h;h=a8a1ce42f1af1620f62aa7df9161ea68c5c05b14;hp=38a031793c3afc616d81f96883e0d8325336bae2;hb=1228af1ceae83f0886de7fb593b8e57e1a74e1db;hpb=b69e8b3f8cec89492c706cb6a3c0e1f85dccfcfd diff --git a/rculfhash-internal.h b/rculfhash-internal.h index 38a0317..a8a1ce4 100644 --- a/rculfhash-internal.h +++ b/rculfhash-internal.h @@ -152,4 +152,26 @@ extern int get_count_order_ulong(unsigned long x); #define poison_free(ptr) free(ptr) #endif +static inline +struct cds_lfht *__default_alloc_cds_lfht( + const struct cds_lfht_mm_type *mm, + unsigned long cds_lfht_size, + unsigned long min_nr_alloc_buckets, + unsigned long max_nr_buckets) +{ + struct cds_lfht *ht; + + ht = calloc(1, cds_lfht_size); + assert(ht); + + ht->mm = mm; + ht->bucket_at = mm->bucket_at; + ht->min_nr_alloc_buckets = min_nr_alloc_buckets; + ht->min_alloc_buckets_order = + get_count_order_ulong(min_nr_alloc_buckets); + ht->max_nr_buckets = max_nr_buckets; + + return ht; +} + #endif /* _URCU_RCULFHASH_INTERNAL_H */