X-Git-Url: https://git.liburcu.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fhealth%2Fhealth.cpp;h=444621f3a94df593c74327f2eff5a940669e0167;hp=1969ea44c5e2629ca147d270abb99731b2e23bd3;hb=9fd09ab6c005d062ce436ad54738e83313f65af2;hpb=5b9eda8a30a21a1c9de4572dd2b397c7cf923fa1 diff --git a/src/common/health/health.cpp b/src/common/health/health.cpp index 1969ea44c..444621f3a 100644 --- a/src/common/health/health.cpp +++ b/src/common/health/health.cpp @@ -44,7 +44,7 @@ struct health_app { }; /* Define TLS health state. */ -DEFINE_URCU_TLS(struct health_state, health_state); +thread_local struct health_state health_state; /* * Initialize health check subsytem. @@ -258,16 +258,16 @@ void health_register(struct health_app *ha, int type) LTTNG_ASSERT(type < ha->nr_types); /* Init TLS state. */ - uatomic_set(&URCU_TLS(health_state).last, 0); - uatomic_set(&URCU_TLS(health_state).last_time.tv_sec, 0); - uatomic_set(&URCU_TLS(health_state).last_time.tv_nsec, 0); - uatomic_set(&URCU_TLS(health_state).current, 0); - uatomic_set(&URCU_TLS(health_state).flags, (health_flags) 0); - uatomic_set(&URCU_TLS(health_state).type, type); + uatomic_set(&health_state.last, 0); + uatomic_set(&health_state.last_time.tv_sec, 0); + uatomic_set(&health_state.last_time.tv_nsec, 0); + uatomic_set(&health_state.current, 0); + uatomic_set(&health_state.flags, (health_flags) 0); + uatomic_set(&health_state.type, type); /* Add it to the global TLS state list. */ state_lock(ha); - cds_list_add(&URCU_TLS(health_state).node, &ha->list); + cds_list_add(&health_state.node, &ha->list); state_unlock(ha); } @@ -281,9 +281,9 @@ void health_unregister(struct health_app *ha) * On error, set the global_error_state since we are about to remove * the node from the global list. */ - if (uatomic_read(&URCU_TLS(health_state).flags) & HEALTH_ERROR) { - uatomic_set(&ha->flags[URCU_TLS(health_state).type], HEALTH_ERROR); + if (uatomic_read(&health_state.flags) & HEALTH_ERROR) { + uatomic_set(&ha->flags[health_state.type], HEALTH_ERROR); } - cds_list_del(&URCU_TLS(health_state).node); + cds_list_del(&health_state.node); state_unlock(ha); }