X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fchannel.cpp;h=65bdd361d278b6dc96ac657f953ca2ab9b9da2ee;hb=56047f5a23df5c2c583a102b8015bbec5a7da9f1;hp=96eed11c00c089a69ffd9b79c774b0dcfdba6d98;hpb=cd9adb8b829564212158943a0d279bb35322ab30;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/channel.cpp b/src/bin/lttng-sessiond/channel.cpp index 96eed11c0..65bdd361d 100644 --- a/src/bin/lttng-sessiond/channel.cpp +++ b/src/bin/lttng-sessiond/channel.cpp @@ -145,7 +145,7 @@ int channel_kernel_disable(struct ltt_kernel_session *ksession, char *channel_na } /* Only if channel is enabled disable it. */ - if (kchan->enabled == 1) { + if (kchan->enabled) { ret = kernel_disable_channel(kchan); if (ret < 0 && ret != -EEXIST) { ret = LTTNG_ERR_KERN_CHAN_DISABLE_FAIL; @@ -170,7 +170,7 @@ enum lttng_error_code channel_kernel_enable(struct ltt_kernel_session *ksession, LTTNG_ASSERT(ksession); LTTNG_ASSERT(kchan); - if (kchan->enabled == 0) { + if (!kchan->enabled) { if (kernel_enable_channel(kchan) < 0) { ret_code = LTTNG_ERR_KERN_CHAN_ENABLE_FAIL; goto error; @@ -284,7 +284,7 @@ enum lttng_error_code channel_ust_enable(struct ltt_ust_session *usess, ret_code = LTTNG_ERR_UST_CHAN_EXIST; goto end; } else { - uchan->enabled = 1; + uchan->enabled = true; DBG2("Channel %s enabled successfully", uchan->name); } @@ -325,6 +325,7 @@ enum lttng_error_code channel_ust_create(struct ltt_ust_session *usess, struct lttng_channel *defattr = nullptr; enum lttng_domain_type domain = LTTNG_DOMAIN_UST; bool chan_published = false; + lttng::urcu::read_lock_guard read_lock; LTTNG_ASSERT(usess); @@ -425,7 +426,7 @@ enum lttng_error_code channel_ust_create(struct ltt_ust_session *usess, goto error; } - uchan->enabled = 1; + uchan->enabled = true; if (trace_ust_is_max_id(usess->used_channel_id)) { ret_code = LTTNG_ERR_UST_CHAN_FAIL; goto error; @@ -448,8 +449,7 @@ enum lttng_error_code channel_ust_create(struct ltt_ust_session *usess, } /* Adding the channel to the channel hash table. */ - rcu_read_lock(); - if (strncmp(uchan->name, DEFAULT_METADATA_NAME, sizeof(uchan->name))) { + if (strncmp(uchan->name, DEFAULT_METADATA_NAME, sizeof(uchan->name)) != 0) { lttng_ht_add_unique_str(usess->domain_global.channels, &uchan->node); chan_published = true; } else { @@ -460,7 +460,6 @@ enum lttng_error_code channel_ust_create(struct ltt_ust_session *usess, */ memcpy(&usess->metadata_attr, &uchan->attr, sizeof(usess->metadata_attr)); } - rcu_read_unlock(); DBG2("Channel %s created successfully", uchan->name); if (domain != LTTNG_DOMAIN_UST) { @@ -501,12 +500,12 @@ int channel_ust_disable(struct ltt_ust_session *usess, struct ltt_ust_channel *u LTTNG_ASSERT(uchan); /* Already disabled */ - if (uchan->enabled == 0) { + if (!uchan->enabled) { DBG2("Channel UST %s already disabled", uchan->name); goto end; } - uchan->enabled = 0; + uchan->enabled = false; /* * If session is inactive we don't notify the tracer right away. We