X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fust-app.c;h=891d75f7c000b287a5707e702ef04a972f398ac3;hb=7ffc31a26846c17bbb31a86ece6471f769805633;hp=7e4bf94051028f7c361749f0a162a4baee8e53b4;hpb=401137874924a040b3266954aa2067c8d6aedf26;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/ust-app.c b/src/bin/lttng-sessiond/ust-app.c index 7e4bf9405..891d75f7c 100644 --- a/src/bin/lttng-sessiond/ust-app.c +++ b/src/bin/lttng-sessiond/ust-app.c @@ -16,6 +16,7 @@ */ #define _GNU_SOURCE +#define _LGPL_SOURCE #include #include #include @@ -1471,27 +1472,6 @@ int create_ust_event(struct ust_app *app, struct ust_app_session *ua_sess, } goto error; } - } else { - ret = disable_ust_event(app, ua_sess, ua_event); - if (ret < 0) { - /* - * If we hit an EPERM, something is wrong with our disable call. If - * we get an EEXIST, there is a problem on the tracer side since we - * just created it. - */ - switch (ret) { - case -LTTNG_UST_ERR_PERM: - /* Code flow problem */ - assert(0); - case -LTTNG_UST_ERR_EXIST: - /* It's OK for our use case. */ - ret = 0; - break; - default: - break; - } - goto error; - } } error: @@ -1989,6 +1969,7 @@ no_match: /* * Lookup for an ust app context from an lttng_ust_context. * + * Must be called while holding RCU read side lock. * Return an ust_app_ctx object or NULL on error. */ static @@ -5171,10 +5152,12 @@ unsigned int ust_app_get_nb_stream(struct ltt_ust_session *usess) cds_list_for_each_entry(reg, &usess->buffer_reg_uid_list, lnode) { struct buffer_reg_channel *reg_chan; + rcu_read_lock(); cds_lfht_for_each_entry(reg->registry->channels->ht, &iter.iter, reg_chan, node.node) { ret += reg_chan->stream_count; } + rcu_read_unlock(); } break; }