X-Git-Url: https://git.liburcu.org/?p=urcu.git;a=blobdiff_plain;f=src%2Furcu-bp.c;h=c2ac792c219f825936e1e3676907e8b8cf9ea01a;hp=33f280799208c66f0337e25acfeaf8adce213aa1;hb=375db287452ed4ec9e062e6d670d4cc198a8253d;hpb=e37faee15dd9f26c131e064f4e3afe357afe1c73 diff --git a/src/urcu-bp.c b/src/urcu-bp.c index 33f2807..c2ac792 100644 --- a/src/urcu-bp.c +++ b/src/urcu-bp.c @@ -37,6 +37,7 @@ #include #include +#include #include #include #include @@ -566,6 +567,12 @@ end: } URCU_ATTR_ALIAS("urcu_bp_register") void rcu_bp_register(); +void urcu_bp_register_thread(void) +{ + if (caa_unlikely(!URCU_TLS(urcu_bp_reader))) + urcu_bp_register(); /* If not yet registered. */ +} + /* Disable signals, take mutex, remove from registry */ static void urcu_bp_unregister(struct rcu_reader *rcu_reader_reg)