#define UST_DL_STATE_HASH_BITS 8
#define UST_DL_STATE_TABLE_SIZE (1 << UST_DL_STATE_HASH_BITS)
-struct cds_hlist_head dl_state_table[UST_DL_STATE_TABLE_SIZE];
+static struct cds_hlist_head dl_state_table[UST_DL_STATE_TABLE_SIZE];
typedef void (*tracepoint_cb)(struct lttng_ust_session *session, void *priv);
*/
for (i = 0; i < UST_DL_STATE_TABLE_SIZE; i++) {
struct cds_hlist_head *head;
- struct lttng_ust_dl_node *e;
+ struct lttng_ust_dl_node *e, *tmp;
head = &dl_state_table[i];
- cds_hlist_for_each_entry_2(e, head, node) {
+ cds_hlist_for_each_entry_safe_2(e, tmp, head, node) {
if (e->marked) {
if (!e->traced) {
trace_lib_load(&e->bin_data, ip);
return;
/*
- * Fixup lttng-ust TLS when called from dlopen/dlclose
- * instrumentation.
+ * Force the allocation of lttng-ust TLS variables when called from
+ * dlopen/dlclose instrumentation.
*/
- lttng_ust_fixup_tls();
+ lttng_ust_alloc_tls();
data.exec_found = 0;
data.first = true;