X-Git-Url: https://git.lttng.org/?p=lttng-tools.git;a=blobdiff_plain;f=src%2Fcommon%2Fconsumer.c;h=c34f47c33f725252f2e598603653e9b1129fcafc;hp=effa5f86f38cfa67247fdbd17a214c34f42c5703;hb=fb27f84c28e9d8ec7c8ce5ac1b541b0671a4569e;hpb=3d07185530211f3a650a7218199af44d4c77bf13 diff --git a/src/common/consumer.c b/src/common/consumer.c index effa5f86f..c34f47c33 100644 --- a/src/common/consumer.c +++ b/src/common/consumer.c @@ -286,6 +286,17 @@ static void free_channel_rcu(struct rcu_head *head) struct lttng_consumer_channel *channel = caa_container_of(node, struct lttng_consumer_channel, node); + switch (consumer_data.type) { + case LTTNG_CONSUMER_KERNEL: + break; + case LTTNG_CONSUMER32_UST: + case LTTNG_CONSUMER64_UST: + lttng_ustconsumer_free_channel(channel); + break; + default: + ERR("Unknown consumer_data type"); + abort(); + } free(channel); } @@ -563,6 +574,7 @@ struct lttng_consumer_stream *consumer_allocate_stream(uint64_t channel_key, stream->endpoint_status = CONSUMER_ENDPOINT_ACTIVE; stream->index_fd = -1; pthread_mutex_init(&stream->lock, NULL); + pthread_mutex_init(&stream->metadata_timer_lock, NULL); /* If channel is the metadata, flag this stream as metadata. */ if (type == CONSUMER_CHANNEL_TYPE_METADATA) { @@ -701,7 +713,7 @@ end: /* * Allocate and return a consumer relayd socket. */ -struct consumer_relayd_sock_pair *consumer_allocate_relayd_sock_pair( +static struct consumer_relayd_sock_pair *consumer_allocate_relayd_sock_pair( uint64_t net_seq_idx) { struct consumer_relayd_sock_pair *obj = NULL;