X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=urcu%2Fstatic%2Furcu-pointer.h;h=906caa009c708c13cc2f9a6b0c1e989416e3aed7;hb=3daae22a68a6e74c99d39a8c6b628f5c9121c54a;hp=b6444860f51143dca1bb3d5eb34e4bbd4a6ce1cd;hpb=af7c2dbeac32c663b64ad05e4eca70e18784463b;p=urcu.git diff --git a/urcu/static/urcu-pointer.h b/urcu/static/urcu-pointer.h index b644486..906caa0 100644 --- a/urcu/static/urcu-pointer.h +++ b/urcu/static/urcu-pointer.h @@ -32,7 +32,7 @@ #include #include #include -#include +#include #ifdef __cplusplus extern "C" { @@ -102,13 +102,13 @@ extern "C" { #define _rcu_set_pointer(p, v) \ - ({ \ + do { \ typeof(*p) _________pv = (v); \ if (!__builtin_constant_p(v) || \ ((v) != NULL)) \ cmm_wmb(); \ uatomic_set(p, _________pv); \ - }) + } while (0) /** * _rcu_assign_pointer - assign (publicize) a pointer to a new data structure