X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;ds=sidebyside;f=lttng-events.c;h=d7192947719e3ee51fb78e630371344f03204b71;hb=57ccbfa6a8a79c7b84394c2097efaf7935607aa5;hp=b7c183e91f97ca4033506890a4dc9ec47e0191c1;hpb=3780dda998147e51885d861b1e458dee3f783ff6;p=lttng-modules.git diff --git a/lttng-events.c b/lttng-events.c index b7c183e9..d7192947 100644 --- a/lttng-events.c +++ b/lttng-events.c @@ -210,8 +210,10 @@ void lttng_session_destroy(struct lttng_session *session) BUG_ON(chan->channel_type == METADATA_CHANNEL); _lttng_channel_destroy(chan); } + mutex_lock(&session->metadata_cache->lock); list_for_each_entry(metadata_stream, &session->metadata_cache->metadata_stream, list) _lttng_metadata_channel_hangup(metadata_stream); + mutex_unlock(&session->metadata_cache->lock); lttng_id_tracker_destroy(&session->pid_tracker, false); lttng_id_tracker_destroy(&session->vpid_tracker, false); lttng_id_tracker_destroy(&session->uid_tracker, false); @@ -1696,9 +1698,9 @@ void lttng_metadata_end(struct lttng_session *session) if (atomic_dec_return(&session->metadata_cache->producing) == 0) { struct lttng_metadata_stream *stream; - mutex_unlock(&session->metadata_cache->lock); list_for_each_entry(stream, &session->metadata_cache->metadata_stream, list) wake_up_interruptible(&stream->read_wait); + mutex_unlock(&session->metadata_cache->lock); } } @@ -1717,7 +1719,7 @@ int lttng_metadata_printf(struct lttng_session *session, size_t len; va_list ap; - WARN_ON_ONCE(!READ_ONCE(session->active)); + WARN_ON_ONCE(!LTTNG_READ_ONCE(session->active)); va_start(ap, fmt); str = kvasprintf(GFP_KERNEL, fmt, ap); @@ -2303,7 +2305,7 @@ int _lttng_event_metadata_statedump(struct lttng_session *session, { int ret = 0; - if (event->metadata_dumped || !READ_ONCE(session->active)) + if (event->metadata_dumped || !LTTNG_READ_ONCE(session->active)) return 0; if (chan->channel_type == METADATA_CHANNEL) return 0; @@ -2375,7 +2377,7 @@ int _lttng_channel_metadata_statedump(struct lttng_session *session, { int ret = 0; - if (chan->metadata_dumped || !READ_ONCE(session->active)) + if (chan->metadata_dumped || !LTTNG_READ_ONCE(session->active)) return 0; if (chan->channel_type == METADATA_CHANNEL) @@ -2602,7 +2604,7 @@ int _lttng_session_metadata_statedump(struct lttng_session *session) struct lttng_event *event; int ret = 0; - if (!READ_ONCE(session->active)) + if (!LTTNG_READ_ONCE(session->active)) return 0; lttng_metadata_begin(session);