X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=rcuja%2Frcuja-range.c;h=26a0c2e97b50e8d58987913772c25d93a29cfc1e;hb=refs%2Fheads%2Furcu%2Frcuja-range;hp=72a7609e11badfca7b7313fca71617497d3f3a17;hpb=63d2de6a60e9cc108f66f61f0e432741c38f0571;p=userspace-rcu.git diff --git a/rcuja/rcuja-range.c b/rcuja/rcuja-range.c index 72a7609..26a0c2e 100644 --- a/rcuja/rcuja-range.c +++ b/rcuja/rcuja-range.c @@ -217,6 +217,14 @@ void cds_ja_range_unlock(struct cds_ja_range *range) pthread_mutex_unlock(&range->lock); } +void cds_ja_range_get_values(const struct cds_ja_range *range, + uint64_t *start, uint64_t *end, void **priv) +{ + *start = range->start; + *end = range->end; + *priv = range->priv; +} + static struct cds_ja_range *range_create( uint64_t start, /* inclusive */ @@ -268,7 +276,7 @@ int cds_ja_range_add(struct cds_ja *ja, unsigned int nr_ranges, i; int ret; - if (start > end || end == UINT64_MAX) + if (start > end || end == UINT64_MAX || end > ja->key_max) return -EINVAL; retry: