assert(_enum);
key = _key;
- if (strncmp(_enum->name, key->name, LTTNG_UST_SYM_NAME_LEN)) {
+ if (strncmp(_enum->name, key->name, LTTNG_UST_ABI_SYM_NAME_LEN)) {
goto no_match;
}
if (compare_enums(_enum, key)) {
struct ust_registry_enum reg_enum_lookup;
memset(®_enum_lookup, 0, sizeof(reg_enum_lookup));
- strncpy(reg_enum_lookup.name, enum_name, LTTNG_UST_SYM_NAME_LEN);
- reg_enum_lookup.name[LTTNG_UST_SYM_NAME_LEN - 1] = '\0';
+ strncpy(reg_enum_lookup.name, enum_name, LTTNG_UST_ABI_SYM_NAME_LEN);
+ reg_enum_lookup.name[LTTNG_UST_ABI_SYM_NAME_LEN - 1] = '\0';
reg_enum_lookup.id = enum_id;
cds_lfht_lookup(session->enums->ht,
ht_hash_enum((void *) ®_enum_lookup, lttng_ht_seed),
ret = -ENOMEM;
goto end;
}
- strncpy(reg_enum->name, enum_name, LTTNG_UST_SYM_NAME_LEN);
- reg_enum->name[LTTNG_UST_SYM_NAME_LEN - 1] = '\0';
+ strncpy(reg_enum->name, enum_name, LTTNG_UST_ABI_SYM_NAME_LEN);
+ reg_enum->name[LTTNG_UST_ABI_SYM_NAME_LEN - 1] = '\0';
/* entries will be owned by reg_enum. */
reg_enum->entries = entries;
reg_enum->nr_entries = nr_entries;
if (notif) {
cmd_ret = notification_thread_command_remove_channel(
- notification_thread_handle, chan->consumer_key,
- LTTNG_DOMAIN_UST);
+ the_notification_thread_handle,
+ chan->consumer_key, LTTNG_DOMAIN_UST);
if (cmd_ret != LTTNG_OK) {
ERR("Failed to remove channel from notification thread");
}
}
- rcu_read_lock();
- /* Destroy all event associated with this registry. */
- cds_lfht_for_each_entry(chan->ht->ht, &iter.iter, event, node.node) {
- /* Delete the node from the ht and free it. */
- ust_registry_destroy_event(chan, event);
+ if (chan->ht) {
+ rcu_read_lock();
+ /* Destroy all event associated with this registry. */
+ cds_lfht_for_each_entry(
+ chan->ht->ht, &iter.iter, event, node.node) {
+ /* Delete the node from the ht and free it. */
+ ust_registry_destroy_event(chan, event);
+ }
+ rcu_read_unlock();
}
- rcu_read_unlock();
call_rcu(&chan->rcu_head, destroy_channel_rcu);
}