X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=urcu-qsbr.h;h=448074d019b28ea1219660c43f990b39e09b7479;hp=f5392a32dfcc7ae3a4647b4a12f4882baaf042bc;hb=fb6e510b9ae45b9b984b4646b4be6b9d7a2bbf7c;hpb=cee02f0ab0a6766662490f2d815d487c098c17b1 diff --git a/urcu-qsbr.h b/urcu-qsbr.h index f5392a3..448074d 100644 --- a/urcu-qsbr.h +++ b/urcu-qsbr.h @@ -31,6 +31,7 @@ #include #include +#include #include #include @@ -108,6 +109,12 @@ */ #define KICK_READER_LOOPS 10000 +#ifdef DEBUG_RCU +#define rcu_assert(args...) assert(args) +#else +#define rcu_assert(args...) +#endif + #ifdef DEBUG_YIELD #include #include @@ -180,6 +187,7 @@ static inline int rcu_gp_ongoing(long *value) static inline void _rcu_read_lock(void) { + rcu_assert(rcu_reader_qs_gp & 1); } static inline void _rcu_read_unlock(void)