X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu%2Fstatic%2Furcu-qsbr.h;h=ea5e13adebd5fae0374a5ad81693dd6cf46436c2;hp=f6e55807db267ba66227f1d7046511f56589aa76;hb=882f335739b978d1c55be2faeed077f315afe5d7;hpb=171ff3a34ac166a41a075749517fd3780df121da diff --git a/urcu/static/urcu-qsbr.h b/urcu/static/urcu-qsbr.h index f6e5580..ea5e13a 100644 --- a/urcu/static/urcu-qsbr.h +++ b/urcu/static/urcu-qsbr.h @@ -190,6 +190,18 @@ static inline void _rcu_read_unlock(void) { } +/* + * Returns whether within a RCU read-side critical section. + * + * This function is less than 10 lines long. The intent is that this + * function meets the 10-line criterion for LGPL, allowing this function + * to be invoked directly from non-LGPL code. + */ +static inline int _rcu_read_ongoing(void) +{ + return URCU_TLS(rcu_reader).ctr; +} + /* * This is a helper function for _rcu_quiescent_state(). * The first cmm_smp_mb() ensures memory accesses in the prior read-side