Signed-off-by: Jérémie Galarneau <[email protected]> --- src/common/consumer.c | 6 ++++++ 1 file changed, 6 insertions(+)
diff --git a/src/common/consumer.c b/src/common/consumer.c
index 3709092..5f38375 100644
--- a/src/common/consumer.c
+++ b/src/common/consumer.c
@@ -2716,16 +2716,21 @@ restart:
lttng_ht_node_init_u64(&chan->wait_fd_node,
chan->wait_fd);
+ rcu_read_lock();
lttng_ht_add_unique_u64(channel_ht,
&chan->wait_fd_node);
+ rcu_read_unlock();
/* Add channel to the global
poll events list */
lttng_poll_add(&events,
chan->wait_fd,
LPOLLIN |
LPOLLPRI);
break;
case CONSUMER_CHANNEL_DEL:
{
+ rcu_read_lock();
chan =
consumer_find_channel(key);
+
if (!chan) {
+ rcu_read_unlock();
ERR("UST consumer get
channel key %" PRIu64 " not found for del channel", key);
break;
}
@@ -2741,6 +2746,7 @@ restart:
if
(!uatomic_sub_return(&chan->refcount, 1)) {
consumer_del_channel(chan);
}
+ rcu_read_unlock();
goto restart;
}
case CONSUMER_CHANNEL_QUIT:
--
1.8.2.3
_______________________________________________
lttng-dev mailing list
[email protected]
http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
