This avoids name clashes between the global variable and local variables
/ function parameters. This is a step towards enabling -Wshadow.
This also helps readability, in my opinion, as it helps quickly spot
that some code is using a global variable.
Signed-off-by: Simon Marchi <simon.marchi@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
Change-Id: I20eb47b91e3500bf1aebee17fdb995940cae7a33
METADATA_CACHE_UPDATE_STATUS_VERSION_NOT_UPDATED,
};
METADATA_CACHE_UPDATE_STATUS_VERSION_NOT_UPDATED,
};
-extern struct lttng_consumer_global_data consumer_data;
+extern struct lttng_consumer_global_data the_consumer_data;
/*
* Reset the metadata cache.
/*
* Reset the metadata cache.
assert(ctx);
/* Ease our life a bit. */
assert(ctx);
/* Ease our life a bit. */
- ht = consumer_data.stream_list_ht;
+ ht = the_consumer_data.stream_list_ht;
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
if (stream->mmap_base != NULL) {
ret = munmap(stream->mmap_base, stream->mmap_len);
case LTTNG_CONSUMER_KERNEL:
if (stream->mmap_base != NULL) {
ret = munmap(stream->mmap_base, stream->mmap_len);
* that did not add the stream to a (all) hash table. Same goes for the
* next call ht del call.
*/
* that did not add the stream to a (all) hash table. Same goes for the
* next call ht del call.
*/
- (void) lttng_ht_del(consumer_data.stream_per_chan_id_ht, &iter);
+ (void) lttng_ht_del(the_consumer_data.stream_per_chan_id_ht, &iter);
/* Delete from the global stream list. */
iter.iter.node = &stream->node_session_id.node;
/* See the previous ht del on why we ignore the returned value. */
/* Delete from the global stream list. */
iter.iter.node = &stream->node_session_id.node;
/* See the previous ht del on why we ignore the returned value. */
- (void) lttng_ht_del(consumer_data.stream_list_ht, &iter);
+ (void) lttng_ht_del(the_consumer_data.stream_list_ht, &iter);
rcu_read_unlock();
if (!stream->metadata_flag) {
/* Decrement the stream count of the global consumer data. */
rcu_read_unlock();
if (!stream->metadata_flag) {
/* Decrement the stream count of the global consumer data. */
- assert(consumer_data.stream_count > 0);
- consumer_data.stream_count--;
+ assert(the_consumer_data.stream_count > 0);
+ the_consumer_data.stream_count--;
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
break;
case LTTNG_CONSUMER32_UST:
case LTTNG_CONSUMER_KERNEL:
break;
case LTTNG_CONSUMER32_UST:
* stream thus being globally visible.
*/
if (stream->globally_visible) {
* stream thus being globally visible.
*/
if (stream->globally_visible) {
- pthread_mutex_lock(&consumer_data.lock);
+ pthread_mutex_lock(&the_consumer_data.lock);
pthread_mutex_lock(&stream->chan->lock);
pthread_mutex_lock(&stream->lock);
/* Remove every reference of the stream in the consumer. */
pthread_mutex_lock(&stream->chan->lock);
pthread_mutex_lock(&stream->lock);
/* Remove every reference of the stream in the consumer. */
free_chan = unref_channel(stream);
/* Indicates that the consumer data state MUST be updated after this. */
free_chan = unref_channel(stream);
/* Indicates that the consumer data state MUST be updated after this. */
- consumer_data.need_update = 1;
+ the_consumer_data.need_update = 1;
pthread_mutex_unlock(&stream->lock);
pthread_mutex_unlock(&stream->chan->lock);
pthread_mutex_unlock(&stream->lock);
pthread_mutex_unlock(&stream->chan->lock);
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
} else {
/*
* If the stream is not visible globally, this needs to be done
} else {
/*
* If the stream is not visible globally, this needs to be done
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
if (producer_active) {
ret = kernctl_buffer_flush(stream->wait_fd);
case LTTNG_CONSUMER_KERNEL:
if (producer_active) {
ret = kernctl_buffer_flush(stream->wait_fd);
-static int channel_monitor_pipe = -1;
+static int the_channel_monitor_pipe = -1;
/*
* Execute action on a timer switch.
/*
* Execute action on a timer switch.
struct lttng_consumer_channel *channel;
struct lttng_consumer_stream *stream;
struct lttng_ht_iter iter;
struct lttng_consumer_channel *channel;
struct lttng_consumer_stream *stream;
struct lttng_ht_iter iter;
- const struct lttng_ht *ht = consumer_data.stream_per_chan_id_ht;
+ const struct lttng_ht *ht = the_consumer_data.stream_per_chan_id_ht;
const flush_index_cb flush_index =
ctx->type == LTTNG_CONSUMER_KERNEL ?
consumer_flush_kernel_index :
const flush_index_cb flush_index =
ctx->type == LTTNG_CONSUMER_KERNEL ?
consumer_flush_kernel_index :
struct lttng_consumer_stream *stream;
bool empty_channel = true;
uint64_t high = 0, low = UINT64_MAX;
struct lttng_consumer_stream *stream;
bool empty_channel = true;
uint64_t high = 0, low = UINT64_MAX;
- struct lttng_ht *ht = consumer_data.stream_per_chan_id_ht;
+ struct lttng_ht *ht = the_consumer_data.stream_per_chan_id_ht;
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
sample = lttng_kconsumer_sample_snapshot_positions;
get_consumed = lttng_kconsumer_get_consumed_snapshot;
case LTTNG_CONSUMER_KERNEL:
sample = lttng_kconsumer_sample_snapshot_positions;
get_consumed = lttng_kconsumer_get_consumed_snapshot;
int consumer_timer_thread_get_channel_monitor_pipe(void)
{
int consumer_timer_thread_get_channel_monitor_pipe(void)
{
- return uatomic_read(&channel_monitor_pipe);
+ return uatomic_read(&the_channel_monitor_pipe);
}
int consumer_timer_thread_set_channel_monitor_pipe(int fd)
{
int ret;
}
int consumer_timer_thread_set_channel_monitor_pipe(int fd)
{
int ret;
- ret = uatomic_cmpxchg(&channel_monitor_pipe, -1, fd);
+ ret = uatomic_cmpxchg(&the_channel_monitor_pipe, -1, fd);
if (ret != -1) {
ret = -1;
goto end;
if (ret != -1) {
ret = -1;
goto end;
#include <common/string-utils/format.h>
#include <common/dynamic-array.h>
#include <common/string-utils/format.h>
#include <common/dynamic-array.h>
-struct lttng_consumer_global_data consumer_data = {
- .stream_count = 0,
- .need_update = 1,
- .type = LTTNG_CONSUMER_UNKNOWN,
+struct lttng_consumer_global_data the_consumer_data = {
+ .stream_count = 0,
+ .need_update = 1,
+ .type = LTTNG_CONSUMER_UNKNOWN,
};
enum consumer_channel_action {
};
enum consumer_channel_action {
static const char *get_consumer_domain(void)
{
static const char *get_consumer_domain(void)
{
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
return DEFAULT_KERNEL_TRACE_DIR;
case LTTNG_CONSUMER64_UST:
case LTTNG_CONSUMER_KERNEL:
return DEFAULT_KERNEL_TRACE_DIR;
case LTTNG_CONSUMER64_UST:
- lttng_ht_lookup(consumer_data.channel_ht, &key, &iter);
+ lttng_ht_lookup(the_consumer_data.channel_ht, &key, &iter);
node = lttng_ht_iter_get_node_u64(&iter);
if (node != NULL) {
channel = caa_container_of(node, struct lttng_consumer_channel, node);
node = lttng_ht_iter_get_node_u64(&iter);
if (node != NULL) {
channel = caa_container_of(node, struct lttng_consumer_channel, node);
struct lttng_consumer_channel *channel =
caa_container_of(node, struct lttng_consumer_channel, node);
struct lttng_consumer_channel *channel =
caa_container_of(node, struct lttng_consumer_channel, node);
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
break;
case LTTNG_CONSUMER32_UST:
case LTTNG_CONSUMER_KERNEL:
break;
case LTTNG_CONSUMER32_UST:
DBG("Consumer destroy and close relayd socket pair");
iter.iter.node = &relayd->node.node;
DBG("Consumer destroy and close relayd socket pair");
iter.iter.node = &relayd->node.node;
- ret = lttng_ht_del(consumer_data.relayd_ht, &iter);
+ ret = lttng_ht_del(the_consumer_data.relayd_ht, &iter);
if (ret != 0) {
/* We assume the relayd is being or is destroyed */
return;
if (ret != 0) {
/* We assume the relayd is being or is destroyed */
return;
DBG("Consumer delete channel key %" PRIu64, channel->key);
DBG("Consumer delete channel key %" PRIu64, channel->key);
- pthread_mutex_lock(&consumer_data.lock);
+ pthread_mutex_lock(&the_consumer_data.lock);
pthread_mutex_lock(&channel->lock);
/* Destroy streams that might have been left in the stream list. */
pthread_mutex_lock(&channel->lock);
/* Destroy streams that might have been left in the stream list. */
consumer_timer_monitor_stop(channel);
}
consumer_timer_monitor_stop(channel);
}
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
break;
case LTTNG_CONSUMER32_UST:
case LTTNG_CONSUMER_KERNEL:
break;
case LTTNG_CONSUMER32_UST:
rcu_read_lock();
iter.iter.node = &channel->node.node;
rcu_read_lock();
iter.iter.node = &channel->node.node;
- ret = lttng_ht_del(consumer_data.channel_ht, &iter);
+ ret = lttng_ht_del(the_consumer_data.channel_ht, &iter);
assert(!ret);
iter.iter.node = &channel->channels_by_session_id_ht_node.node;
assert(!ret);
iter.iter.node = &channel->channels_by_session_id_ht_node.node;
- ret = lttng_ht_del(consumer_data.channels_by_session_id_ht,
+ ret = lttng_ht_del(the_consumer_data.channels_by_session_id_ht,
&iter);
assert(!ret);
rcu_read_unlock();
&iter);
assert(!ret);
rcu_read_unlock();
call_rcu(&channel->node.head, free_channel_rcu);
end:
pthread_mutex_unlock(&channel->lock);
call_rcu(&channel->node.head, free_channel_rcu);
end:
pthread_mutex_unlock(&channel->lock);
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
- cds_lfht_for_each_entry(consumer_data.relayd_ht->ht, &iter.iter, relayd,
- node.node) {
+ cds_lfht_for_each_entry(the_consumer_data.relayd_ht->ht, &iter.iter,
+ relayd, node.node) {
consumer_destroy_relayd(relayd);
}
rcu_read_unlock();
consumer_destroy_relayd(relayd);
}
rcu_read_unlock();
- lttng_ht_destroy(consumer_data.relayd_ht);
+ lttng_ht_destroy(the_consumer_data.relayd_ht);
DBG3("Adding consumer stream %" PRIu64, stream->key);
DBG3("Adding consumer stream %" PRIu64, stream->key);
- pthread_mutex_lock(&consumer_data.lock);
+ pthread_mutex_lock(&the_consumer_data.lock);
pthread_mutex_lock(&stream->chan->lock);
pthread_mutex_lock(&stream->chan->timer_lock);
pthread_mutex_lock(&stream->lock);
pthread_mutex_lock(&stream->chan->lock);
pthread_mutex_lock(&stream->chan->timer_lock);
pthread_mutex_lock(&stream->lock);
lttng_ht_add_unique_u64(ht, &stream->node);
lttng_ht_add_unique_u64(ht, &stream->node);
- lttng_ht_add_u64(consumer_data.stream_per_chan_id_ht,
+ lttng_ht_add_u64(the_consumer_data.stream_per_chan_id_ht,
&stream->node_channel_id);
/*
&stream->node_channel_id);
/*
* the key since the HT does not use it and we allow to add redundant keys
* into this table.
*/
* the key since the HT does not use it and we allow to add redundant keys
* into this table.
*/
- lttng_ht_add_u64(consumer_data.stream_list_ht, &stream->node_session_id);
+ lttng_ht_add_u64(the_consumer_data.stream_list_ht,
+ &stream->node_session_id);
/*
* When nb_init_stream_left reaches 0, we don't need to trigger any action
/*
* When nb_init_stream_left reaches 0, we don't need to trigger any action
}
/* Update consumer data once the node is inserted. */
}
/* Update consumer data once the node is inserted. */
- consumer_data.stream_count++;
- consumer_data.need_update = 1;
+ the_consumer_data.stream_count++;
+ the_consumer_data.need_update = 1;
rcu_read_unlock();
pthread_mutex_unlock(&stream->lock);
pthread_mutex_unlock(&stream->chan->timer_lock);
pthread_mutex_unlock(&stream->chan->lock);
rcu_read_unlock();
pthread_mutex_unlock(&stream->lock);
pthread_mutex_unlock(&stream->chan->timer_lock);
pthread_mutex_unlock(&stream->chan->lock);
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
- lttng_ht_lookup(consumer_data.relayd_ht,
- &relayd->net_seq_idx, &iter);
+ lttng_ht_lookup(the_consumer_data.relayd_ht, &relayd->net_seq_idx,
+ &iter);
node = lttng_ht_iter_get_node_u64(&iter);
if (node != NULL) {
goto end;
}
node = lttng_ht_iter_get_node_u64(&iter);
if (node != NULL) {
goto end;
}
- lttng_ht_add_unique_u64(consumer_data.relayd_ht, &relayd->node);
+ lttng_ht_add_unique_u64(the_consumer_data.relayd_ht, &relayd->node);
- lttng_ht_lookup(consumer_data.relayd_ht, &key,
- &iter);
+ lttng_ht_lookup(the_consumer_data.relayd_ht, &key, &iter);
node = lttng_ht_iter_get_node_u64(&iter);
if (node != NULL) {
relayd = caa_container_of(node, struct consumer_relayd_sock_pair, node);
node = lttng_ht_iter_get_node_u64(&iter);
if (node != NULL) {
relayd = caa_container_of(node, struct consumer_relayd_sock_pair, node);
assert(stream->metadata_flag);
assert(stream->chan->trace_chunk);
assert(stream->metadata_flag);
assert(stream->chan->trace_chunk);
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
/*
* Reset the position of what has been read from the
case LTTNG_CONSUMER_KERNEL:
/*
* Reset the position of what has been read from the
if (chunk_id) {
trace_chunk = lttng_trace_chunk_registry_find_chunk(
if (chunk_id) {
trace_chunk = lttng_trace_chunk_registry_find_chunk(
- consumer_data.chunk_registry, session_id,
+ the_consumer_data.chunk_registry, session_id,
*chunk_id);
if (!trace_chunk) {
ERR("Failed to find trace chunk reference during creation of channel");
*chunk_id);
if (!trace_chunk) {
ERR("Failed to find trace chunk reference during creation of channel");
int consumer_add_channel(struct lttng_consumer_channel *channel,
struct lttng_consumer_local_data *ctx)
{
int consumer_add_channel(struct lttng_consumer_channel *channel,
struct lttng_consumer_local_data *ctx)
{
- pthread_mutex_lock(&consumer_data.lock);
+ pthread_mutex_lock(&the_consumer_data.lock);
pthread_mutex_lock(&channel->lock);
pthread_mutex_lock(&channel->timer_lock);
pthread_mutex_lock(&channel->lock);
pthread_mutex_lock(&channel->timer_lock);
steal_channel_key(channel->key);
rcu_read_lock();
steal_channel_key(channel->key);
rcu_read_lock();
- lttng_ht_add_unique_u64(consumer_data.channel_ht, &channel->node);
- lttng_ht_add_u64(consumer_data.channels_by_session_id_ht,
+ lttng_ht_add_unique_u64(the_consumer_data.channel_ht, &channel->node);
+ lttng_ht_add_u64(the_consumer_data.channels_by_session_id_ht,
&channel->channels_by_session_id_ht_node);
rcu_read_unlock();
channel->is_published = true;
pthread_mutex_unlock(&channel->timer_lock);
pthread_mutex_unlock(&channel->lock);
&channel->channels_by_session_id_ht_node);
rcu_read_unlock();
channel->is_published = true;
pthread_mutex_unlock(&channel->timer_lock);
pthread_mutex_unlock(&channel->lock);
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
if (channel->wait_fd != -1 && channel->type == CONSUMER_CHANNEL_TYPE_DATA) {
notify_channel_pipe(ctx, channel, -1, CONSUMER_CHANNEL_ADD);
if (channel->wait_fd != -1 && channel->type == CONSUMER_CHANNEL_TYPE_DATA) {
notify_channel_pipe(ctx, channel, -1, CONSUMER_CHANNEL_ADD);
- cds_lfht_for_each_entry(consumer_data.channel_ht->ht, &iter.iter, channel,
- node.node) {
+ cds_lfht_for_each_entry(the_consumer_data.channel_ht->ht, &iter.iter,
+ channel, node.node) {
consumer_del_channel(channel);
}
rcu_read_unlock();
consumer_del_channel(channel);
}
rcu_read_unlock();
- lttng_ht_destroy(consumer_data.channel_ht);
- lttng_ht_destroy(consumer_data.channels_by_session_id_ht);
+ lttng_ht_destroy(the_consumer_data.channel_ht);
+ lttng_ht_destroy(the_consumer_data.channels_by_session_id_ht);
- lttng_ht_destroy(consumer_data.stream_per_chan_id_ht);
+ lttng_ht_destroy(the_consumer_data.stream_per_chan_id_ht);
/*
* This HT contains streams that are freed by either the metadata thread or
* the data thread so we do *nothing* on the hash table and simply destroy
* it.
*/
/*
* This HT contains streams that are freed by either the metadata thread or
* the data thread so we do *nothing* on the hash table and simply destroy
* it.
*/
- lttng_ht_destroy(consumer_data.stream_list_ht);
+ lttng_ht_destroy(the_consumer_data.stream_list_ht);
/*
* Trace chunks in the registry may still exist if the session
/*
* Trace chunks in the registry may still exist if the session
* to hit.
*/
trace_chunks_left = lttng_trace_chunk_registry_put_each_chunk(
* to hit.
*/
trace_chunks_left = lttng_trace_chunk_registry_put_each_chunk(
- consumer_data.chunk_registry);
+ the_consumer_data.chunk_registry);
if (trace_chunks_left) {
ERR("%u trace chunks are leaked by lttng-consumerd. "
"This can be caused by an internal error of the session daemon.",
if (trace_chunks_left) {
ERR("%u trace chunks are leaked by lttng-consumerd. "
"This can be caused by an internal error of the session daemon.",
}
/* Run all callbacks freeing each chunk. */
rcu_barrier();
}
/* Run all callbacks freeing each chunk. */
rcu_barrier();
- lttng_trace_chunk_registry_destroy(consumer_data.chunk_registry);
+ lttng_trace_chunk_registry_destroy(the_consumer_data.chunk_registry);
int ret;
struct lttng_consumer_local_data *ctx;
int ret;
struct lttng_consumer_local_data *ctx;
- assert(consumer_data.type == LTTNG_CONSUMER_UNKNOWN ||
- consumer_data.type == type);
- consumer_data.type = type;
+ assert(the_consumer_data.type == LTTNG_CONSUMER_UNKNOWN ||
+ the_consumer_data.type == type);
+ the_consumer_data.type = type;
ctx = zmalloc(sizeof(struct lttng_consumer_local_data));
if (ctx == NULL) {
ctx = zmalloc(sizeof(struct lttng_consumer_local_data));
if (ctx == NULL) {
int *splice_pipe;
unsigned int relayd_hang_up = 0;
int *splice_pipe;
unsigned int relayd_hang_up = 0;
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
break;
case LTTNG_CONSUMER32_UST:
case LTTNG_CONSUMER_KERNEL:
break;
case LTTNG_CONSUMER32_UST:
*/
int lttng_consumer_sample_snapshot_positions(struct lttng_consumer_stream *stream)
{
*/
int lttng_consumer_sample_snapshot_positions(struct lttng_consumer_stream *stream)
{
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
return lttng_kconsumer_sample_snapshot_positions(stream);
case LTTNG_CONSUMER32_UST:
case LTTNG_CONSUMER_KERNEL:
return lttng_kconsumer_sample_snapshot_positions(stream);
case LTTNG_CONSUMER32_UST:
*/
int lttng_consumer_take_snapshot(struct lttng_consumer_stream *stream)
{
*/
int lttng_consumer_take_snapshot(struct lttng_consumer_stream *stream)
{
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
return lttng_kconsumer_take_snapshot(stream);
case LTTNG_CONSUMER32_UST:
case LTTNG_CONSUMER_KERNEL:
return lttng_kconsumer_take_snapshot(stream);
case LTTNG_CONSUMER32_UST:
int lttng_consumer_get_produced_snapshot(struct lttng_consumer_stream *stream,
unsigned long *pos)
{
int lttng_consumer_get_produced_snapshot(struct lttng_consumer_stream *stream,
unsigned long *pos)
{
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
return lttng_kconsumer_get_produced_snapshot(stream, pos);
case LTTNG_CONSUMER32_UST:
case LTTNG_CONSUMER_KERNEL:
return lttng_kconsumer_get_produced_snapshot(stream, pos);
case LTTNG_CONSUMER32_UST:
int lttng_consumer_get_consumed_snapshot(struct lttng_consumer_stream *stream,
unsigned long *pos)
{
int lttng_consumer_get_consumed_snapshot(struct lttng_consumer_stream *stream,
unsigned long *pos)
{
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
return lttng_kconsumer_get_consumed_snapshot(stream, pos);
case LTTNG_CONSUMER32_UST:
case LTTNG_CONSUMER_KERNEL:
return lttng_kconsumer_get_consumed_snapshot(stream, pos);
case LTTNG_CONSUMER32_UST:
int lttng_consumer_recv_cmd(struct lttng_consumer_local_data *ctx,
int sock, struct pollfd *consumer_sockpoll)
{
int lttng_consumer_recv_cmd(struct lttng_consumer_local_data *ctx,
int sock, struct pollfd *consumer_sockpoll)
{
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
return lttng_kconsumer_recv_cmd(ctx, sock, consumer_sockpoll);
case LTTNG_CONSUMER32_UST:
case LTTNG_CONSUMER_KERNEL:
return lttng_kconsumer_recv_cmd(ctx, sock, consumer_sockpoll);
case LTTNG_CONSUMER32_UST:
static
void lttng_consumer_close_all_metadata(void)
{
static
void lttng_consumer_close_all_metadata(void)
{
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
/*
* The Kernel consumer has a different metadata scheme so we don't
case LTTNG_CONSUMER_KERNEL:
/*
* The Kernel consumer has a different metadata scheme so we don't
DBG3("Consumer delete metadata stream %d", stream->wait_fd);
DBG3("Consumer delete metadata stream %d", stream->wait_fd);
- pthread_mutex_lock(&consumer_data.lock);
+ pthread_mutex_lock(&the_consumer_data.lock);
/*
* Note that this assumes that a stream's channel is never changed and
* that the stream's lock doesn't need to be taken to sample its
/*
* Note that this assumes that a stream's channel is never changed and
* that the stream's lock doesn't need to be taken to sample its
}
pthread_mutex_unlock(&stream->lock);
pthread_mutex_unlock(&channel->lock);
}
pthread_mutex_unlock(&stream->lock);
pthread_mutex_unlock(&channel->lock);
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
if (free_channel) {
consumer_del_channel(channel);
if (free_channel) {
consumer_del_channel(channel);
DBG3("Adding metadata stream %" PRIu64 " to hash table", stream->key);
DBG3("Adding metadata stream %" PRIu64 " to hash table", stream->key);
- pthread_mutex_lock(&consumer_data.lock);
+ pthread_mutex_lock(&the_consumer_data.lock);
pthread_mutex_lock(&stream->chan->lock);
pthread_mutex_lock(&stream->chan->timer_lock);
pthread_mutex_lock(&stream->lock);
pthread_mutex_lock(&stream->chan->lock);
pthread_mutex_lock(&stream->chan->timer_lock);
pthread_mutex_lock(&stream->lock);
lttng_ht_add_unique_u64(ht, &stream->node);
lttng_ht_add_unique_u64(ht, &stream->node);
- lttng_ht_add_u64(consumer_data.stream_per_chan_id_ht,
- &stream->node_channel_id);
+ lttng_ht_add_u64(the_consumer_data.stream_per_chan_id_ht,
+ &stream->node_channel_id);
/*
* Add stream to the stream_list_ht of the consumer data. No need to steal
* the key since the HT does not use it and we allow to add redundant keys
* into this table.
*/
/*
* Add stream to the stream_list_ht of the consumer data. No need to steal
* the key since the HT does not use it and we allow to add redundant keys
* into this table.
*/
- lttng_ht_add_u64(consumer_data.stream_list_ht, &stream->node_session_id);
+ lttng_ht_add_u64(the_consumer_data.stream_list_ht,
+ &stream->node_session_id);
rcu_read_unlock();
pthread_mutex_unlock(&stream->lock);
pthread_mutex_unlock(&stream->chan->lock);
pthread_mutex_unlock(&stream->chan->timer_lock);
rcu_read_unlock();
pthread_mutex_unlock(&stream->lock);
pthread_mutex_unlock(&stream->chan->lock);
pthread_mutex_unlock(&stream->chan->timer_lock);
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
}
} else if (revents & (LPOLLERR | LPOLLHUP)) {
DBG("Metadata fd %d is hup|err.", pollfd);
}
} else if (revents & (LPOLLERR | LPOLLHUP)) {
DBG("Metadata fd %d is hup|err.", pollfd);
- if (!stream->hangup_flush_done
- && (consumer_data.type == LTTNG_CONSUMER32_UST
- || consumer_data.type == LTTNG_CONSUMER64_UST)) {
+ if (!stream->hangup_flush_done &&
+ (the_consumer_data.type == LTTNG_CONSUMER32_UST ||
+ the_consumer_data.type ==
+ LTTNG_CONSUMER64_UST)) {
DBG("Attempting to flush and consume the UST buffers");
lttng_ustconsumer_on_stream_hangup(stream);
DBG("Attempting to flush and consume the UST buffers");
lttng_ustconsumer_on_stream_hangup(stream);
* the fds set has been updated, we need to update our
* local array as well
*/
* the fds set has been updated, we need to update our
* local array as well
*/
- pthread_mutex_lock(&consumer_data.lock);
- if (consumer_data.need_update) {
+ pthread_mutex_lock(&the_consumer_data.lock);
+ if (the_consumer_data.need_update) {
free(pollfd);
pollfd = NULL;
free(pollfd);
pollfd = NULL;
local_stream = NULL;
/* Allocate for all fds */
local_stream = NULL;
/* Allocate for all fds */
- pollfd = zmalloc((consumer_data.stream_count + nb_pipes_fd) * sizeof(struct pollfd));
+ pollfd = zmalloc((the_consumer_data.stream_count +
+ nb_pipes_fd) *
+ sizeof(struct pollfd));
if (pollfd == NULL) {
PERROR("pollfd malloc");
if (pollfd == NULL) {
PERROR("pollfd malloc");
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
- local_stream = zmalloc((consumer_data.stream_count + nb_pipes_fd) *
+ local_stream = zmalloc((the_consumer_data.stream_count +
+ nb_pipes_fd) *
sizeof(struct lttng_consumer_stream *));
if (local_stream == NULL) {
PERROR("local_stream malloc");
sizeof(struct lttng_consumer_stream *));
if (local_stream == NULL) {
PERROR("local_stream malloc");
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
goto end;
}
ret = update_poll_array(ctx, &pollfd, local_stream,
goto end;
}
ret = update_poll_array(ctx, &pollfd, local_stream,
if (ret < 0) {
ERR("Error in allocating pollfd or local_outfds");
lttng_consumer_send_error(ctx, LTTCOMM_CONSUMERD_POLL_ERROR);
if (ret < 0) {
ERR("Error in allocating pollfd or local_outfds");
lttng_consumer_send_error(ctx, LTTCOMM_CONSUMERD_POLL_ERROR);
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
- consumer_data.need_update = 0;
+ the_consumer_data.need_update = 0;
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
/* No FDs and consumer_quit, consumer_cleanup the thread */
if (nb_fd == 0 && nb_inactive_fd == 0 &&
/* No FDs and consumer_quit, consumer_cleanup the thread */
if (nb_fd == 0 && nb_inactive_fd == 0 &&
}
if (!local_stream[i]->hangup_flush_done
&& (pollfd[i].revents & (POLLHUP | POLLERR | POLLNVAL))
}
if (!local_stream[i]->hangup_flush_done
&& (pollfd[i].revents & (POLLHUP | POLLERR | POLLNVAL))
- && (consumer_data.type == LTTNG_CONSUMER32_UST
- || consumer_data.type == LTTNG_CONSUMER64_UST)) {
+ && (the_consumer_data.type == LTTNG_CONSUMER32_UST
+ || the_consumer_data.type == LTTNG_CONSUMER64_UST)) {
DBG("fd %d is hup|err|nval. Attempting flush and read.",
pollfd[i].fd);
lttng_ustconsumer_on_stream_hangup(local_stream[i]);
DBG("fd %d is hup|err|nval. Attempting flush and read.",
pollfd[i].fd);
lttng_ustconsumer_on_stream_hangup(local_stream[i]);
struct lttng_consumer_stream *stream;
struct lttng_ht_iter iter;
struct lttng_consumer_stream *stream;
struct lttng_ht_iter iter;
- ht = consumer_data.stream_per_chan_id_ht;
+ ht = the_consumer_data.stream_per_chan_id_ht;
rcu_read_lock();
cds_lfht_for_each_entry_duplicate(ht->ht,
rcu_read_lock();
cds_lfht_for_each_entry_duplicate(ht->ht,
if (cds_lfht_is_node_deleted(&stream->node.node)) {
goto next;
}
if (cds_lfht_is_node_deleted(&stream->node.node)) {
goto next;
}
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
break;
case LTTNG_CONSUMER32_UST:
case LTTNG_CONSUMER_KERNEL:
break;
case LTTNG_CONSUMER32_UST:
ret = lttng_ht_del(channel_ht, &iter);
assert(ret == 0);
ret = lttng_ht_del(channel_ht, &iter);
assert(ret == 0);
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
break;
case LTTNG_CONSUMER32_UST:
case LTTNG_CONSUMER_KERNEL:
break;
case LTTNG_CONSUMER32_UST:
int lttng_consumer_on_recv_stream(struct lttng_consumer_stream *stream)
{
int lttng_consumer_on_recv_stream(struct lttng_consumer_stream *stream)
{
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
return lttng_kconsumer_on_recv_stream(stream);
case LTTNG_CONSUMER32_UST:
case LTTNG_CONSUMER_KERNEL:
return lttng_kconsumer_on_recv_stream(stream);
case LTTNG_CONSUMER32_UST:
*/
int lttng_consumer_init(void)
{
*/
int lttng_consumer_init(void)
{
- consumer_data.channel_ht = lttng_ht_new(0, LTTNG_HT_TYPE_U64);
- if (!consumer_data.channel_ht) {
+ the_consumer_data.channel_ht = lttng_ht_new(0, LTTNG_HT_TYPE_U64);
+ if (!the_consumer_data.channel_ht) {
- consumer_data.channels_by_session_id_ht =
+ the_consumer_data.channels_by_session_id_ht =
lttng_ht_new(0, LTTNG_HT_TYPE_U64);
lttng_ht_new(0, LTTNG_HT_TYPE_U64);
- if (!consumer_data.channels_by_session_id_ht) {
+ if (!the_consumer_data.channels_by_session_id_ht) {
- consumer_data.relayd_ht = lttng_ht_new(0, LTTNG_HT_TYPE_U64);
- if (!consumer_data.relayd_ht) {
+ the_consumer_data.relayd_ht = lttng_ht_new(0, LTTNG_HT_TYPE_U64);
+ if (!the_consumer_data.relayd_ht) {
- consumer_data.stream_list_ht = lttng_ht_new(0, LTTNG_HT_TYPE_U64);
- if (!consumer_data.stream_list_ht) {
+ the_consumer_data.stream_list_ht = lttng_ht_new(0, LTTNG_HT_TYPE_U64);
+ if (!the_consumer_data.stream_list_ht) {
- consumer_data.stream_per_chan_id_ht = lttng_ht_new(0, LTTNG_HT_TYPE_U64);
- if (!consumer_data.stream_per_chan_id_ht) {
+ the_consumer_data.stream_per_chan_id_ht =
+ lttng_ht_new(0, LTTNG_HT_TYPE_U64);
+ if (!the_consumer_data.stream_per_chan_id_ht) {
- consumer_data.chunk_registry = lttng_trace_chunk_registry_create();
- if (!consumer_data.chunk_registry) {
+ the_consumer_data.chunk_registry = lttng_trace_chunk_registry_create();
+ if (!the_consumer_data.chunk_registry) {
struct consumer_relayd_sock_pair *relayd = NULL;
/* Iterate over all relayd since they are indexed by net_seq_idx. */
struct consumer_relayd_sock_pair *relayd = NULL;
/* Iterate over all relayd since they are indexed by net_seq_idx. */
- cds_lfht_for_each_entry(consumer_data.relayd_ht->ht, &iter.iter, relayd,
- node.node) {
+ cds_lfht_for_each_entry(the_consumer_data.relayd_ht->ht, &iter.iter,
+ relayd, node.node) {
/*
* Check by sessiond id which is unique here where the relayd session
* id might not be when having multiple relayd.
/*
* Check by sessiond id which is unique here where the relayd session
* id might not be when having multiple relayd.
DBG("Consumer data pending command on session id %" PRIu64, id);
rcu_read_lock();
DBG("Consumer data pending command on session id %" PRIu64, id);
rcu_read_lock();
- pthread_mutex_lock(&consumer_data.lock);
+ pthread_mutex_lock(&the_consumer_data.lock);
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
data_pending = lttng_kconsumer_data_pending;
break;
case LTTNG_CONSUMER_KERNEL:
data_pending = lttng_kconsumer_data_pending;
break;
}
/* Ease our life a bit */
}
/* Ease our life a bit */
- ht = consumer_data.stream_list_ht;
+ ht = the_consumer_data.stream_list_ht;
cds_lfht_for_each_entry_duplicate(ht->ht,
ht->hash_fct(&id, lttng_ht_seed),
cds_lfht_for_each_entry_duplicate(ht->ht,
ht->hash_fct(&id, lttng_ht_seed),
data_not_pending:
/* Data is available to be read by a viewer. */
data_not_pending:
/* Data is available to be read by a viewer. */
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
rcu_read_unlock();
return 0;
data_pending:
/* Data is still being extracted from buffers. */
rcu_read_unlock();
return 0;
data_pending:
/* Data is still being extracted from buffers. */
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
rcu_read_unlock();
return 1;
}
rcu_read_unlock();
return 1;
}
int ret;
struct lttng_consumer_stream *stream;
struct lttng_ht_iter iter;
int ret;
struct lttng_consumer_stream *stream;
struct lttng_ht_iter iter;
- struct lttng_ht *ht = consumer_data.stream_per_chan_id_ht;
+ struct lttng_ht *ht = the_consumer_data.stream_per_chan_id_ht;
struct lttng_dynamic_array stream_rotation_positions;
uint64_t next_chunk_id, stream_count = 0;
enum lttng_trace_chunk_status chunk_status;
struct lttng_dynamic_array stream_rotation_positions;
uint64_t next_chunk_id, stream_count = 0;
enum lttng_trace_chunk_status chunk_status;
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER_KERNEL:
ret = kernctl_buffer_clear(stream->wait_fd);
if (ret < 0) {
case LTTNG_CONSUMER_KERNEL:
ret = kernctl_buffer_clear(stream->wait_fd);
if (ret < 0) {
int ret;
struct lttng_consumer_stream *stream;
struct lttng_ht_iter iter;
int ret;
struct lttng_consumer_stream *stream;
struct lttng_ht_iter iter;
- struct lttng_ht *ht = consumer_data.stream_per_chan_id_ht;
+ struct lttng_ht *ht = the_consumer_data.stream_per_chan_id_ht;
}
published_chunk = lttng_trace_chunk_registry_publish_chunk(
}
published_chunk = lttng_trace_chunk_registry_publish_chunk(
- consumer_data.chunk_registry, session_id,
+ the_consumer_data.chunk_registry, session_id,
created_chunk);
lttng_trace_chunk_put(created_chunk);
created_chunk = NULL;
created_chunk);
lttng_trace_chunk_put(created_chunk);
created_chunk = NULL;
- cds_lfht_for_each_entry_duplicate(consumer_data.channels_by_session_id_ht->ht,
- consumer_data.channels_by_session_id_ht->hash_fct(
+ cds_lfht_for_each_entry_duplicate(
+ the_consumer_data.channels_by_session_id_ht->ht,
+ the_consumer_data.channels_by_session_id_ht->hash_fct(
&session_id, lttng_ht_seed),
&session_id, lttng_ht_seed),
- consumer_data.channels_by_session_id_ht->match_fct,
+ the_consumer_data.channels_by_session_id_ht->match_fct,
&session_id, &iter.iter, channel,
channels_by_session_id_ht_node.node) {
ret = lttng_consumer_channel_set_trace_chunk(channel,
&session_id, &iter.iter, channel,
channels_by_session_id_ht_node.node) {
ret = lttng_consumer_channel_set_trace_chunk(channel,
close_command_name);
chunk = lttng_trace_chunk_registry_find_chunk(
close_command_name);
chunk = lttng_trace_chunk_registry_find_chunk(
- consumer_data.chunk_registry, session_id, chunk_id);
+ the_consumer_data.chunk_registry, session_id, chunk_id);
if (!chunk) {
ERR("Failed to find chunk: session_id = %" PRIu64
", chunk_id = %" PRIu64,
if (!chunk) {
ERR("Failed to find chunk: session_id = %" PRIu64
", chunk_id = %" PRIu64,
* current chunk found in the session's channels.
*/
rcu_read_lock();
* current chunk found in the session's channels.
*/
rcu_read_lock();
- cds_lfht_for_each_entry(consumer_data.channel_ht->ht, &iter.iter,
+ cds_lfht_for_each_entry(the_consumer_data.channel_ht->ht, &iter.iter,
channel, node.node) {
int ret;
channel, node.node) {
int ret;
", chunk_id = %" PRIu64, relayd_id_str,
chunk_id);
ret = lttng_trace_chunk_registry_chunk_exists(
", chunk_id = %" PRIu64, relayd_id_str,
chunk_id);
ret = lttng_trace_chunk_registry_chunk_exists(
- consumer_data.chunk_registry, session_id,
- chunk_id, &chunk_exists_local);
+ the_consumer_data.chunk_registry, session_id, chunk_id,
+ &chunk_exists_local);
if (ret) {
/* Internal error. */
ERR("Failed to query the existence of a trace chunk");
if (ret) {
/* Internal error. */
ERR("Failed to query the existence of a trace chunk");
struct lttng_ht_iter iter;
int ret;
struct lttng_ht_iter iter;
int ret;
- ht = consumer_data.stream_per_chan_id_ht;
+ ht = the_consumer_data.stream_per_chan_id_ht;
rcu_read_lock();
cds_lfht_for_each_entry_duplicate(ht->ht,
rcu_read_lock();
cds_lfht_for_each_entry_duplicate(ht->ht,
SYNC_METADATA_STATUS_ERROR,
};
SYNC_METADATA_STATUS_ERROR,
};
-extern struct lttng_consumer_global_data consumer_data;
+extern struct lttng_consumer_global_data the_consumer_data;
struct stream_list {
struct cds_list_head head;
struct stream_list {
struct cds_list_head head;
#include "kernel-consumer.h"
#include "kernel-consumer.h"
-extern struct lttng_consumer_global_data consumer_data;
+extern struct lttng_consumer_global_data the_consumer_data;
extern int consumer_poll_timeout;
/*
extern int consumer_poll_timeout;
/*
#define INT_MAX_STR_LEN 12 /* includes \0 */
#define INT_MAX_STR_LEN 12 /* includes \0 */
-extern struct lttng_consumer_global_data consumer_data;
+extern struct lttng_consumer_global_data the_consumer_data;
extern int consumer_poll_timeout;
/*
extern int consumer_poll_timeout;
/*
- ht = consumer_data.stream_per_chan_id_ht;
+ ht = the_consumer_data.stream_per_chan_id_ht;
/* For each stream of the channel id, flush it. */
cds_lfht_for_each_entry_duplicate(ht->ht,
/* For each stream of the channel id, flush it. */
cds_lfht_for_each_entry_duplicate(ht->ht,
- ht = consumer_data.stream_per_chan_id_ht;
+ ht = the_consumer_data.stream_per_chan_id_ht;
/* For each stream of the channel id, clear quiescent state. */
cds_lfht_for_each_entry_duplicate(ht->ht,
/* For each stream of the channel id, clear quiescent state. */
cds_lfht_for_each_entry_duplicate(ht->ht,
- pthread_mutex_lock(&consumer_data.lock);
+ pthread_mutex_lock(&the_consumer_data.lock);
pthread_mutex_lock(&channel->lock);
channel_monitor = channel->monitor;
if (cds_lfht_is_node_deleted(&channel->node.node)) {
pthread_mutex_lock(&channel->lock);
channel_monitor = channel->monitor;
if (cds_lfht_is_node_deleted(&channel->node.node)) {
lttng_ustconsumer_close_metadata(channel);
pthread_mutex_unlock(&channel->lock);
lttng_ustconsumer_close_metadata(channel);
pthread_mutex_unlock(&channel->lock);
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
/*
* The ownership of a metadata channel depends on the type of
/*
* The ownership of a metadata channel depends on the type of
return ret;
error_unlock:
pthread_mutex_unlock(&channel->lock);
return ret;
error_unlock:
pthread_mutex_unlock(&channel->lock);
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
DBG("UST consumer discarded events command for session id %"
PRIu64, id);
rcu_read_lock();
DBG("UST consumer discarded events command for session id %"
PRIu64, id);
rcu_read_lock();
- pthread_mutex_lock(&consumer_data.lock);
+ pthread_mutex_lock(&the_consumer_data.lock);
- ht = consumer_data.stream_list_ht;
+ ht = the_consumer_data.stream_list_ht;
/*
* We only need a reference to the channel, but they are not
/*
* We only need a reference to the channel, but they are not
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
rcu_read_unlock();
DBG("UST consumer discarded events command for session id %"
rcu_read_unlock();
DBG("UST consumer discarded events command for session id %"
DBG("UST consumer lost packets command for session id %"
PRIu64, id);
rcu_read_lock();
DBG("UST consumer lost packets command for session id %"
PRIu64, id);
rcu_read_lock();
- pthread_mutex_lock(&consumer_data.lock);
+ pthread_mutex_lock(&the_consumer_data.lock);
- ht = consumer_data.stream_list_ht;
+ ht = the_consumer_data.stream_list_ht;
/*
* We only need a reference to the channel, but they are not
/*
* We only need a reference to the channel, but they are not
- pthread_mutex_unlock(&consumer_data.lock);
+ pthread_mutex_unlock(&the_consumer_data.lock);
rcu_read_unlock();
DBG("UST consumer lost packets command for session id %"
rcu_read_unlock();
DBG("UST consumer lost packets command for session id %"
memset(&request, 0, sizeof(request));
/* send the metadata request to sessiond */
memset(&request, 0, sizeof(request));
/* send the metadata request to sessiond */
- switch (consumer_data.type) {
+ switch (the_consumer_data.type) {
case LTTNG_CONSUMER64_UST:
request.bits_per_long = 64;
break;
case LTTNG_CONSUMER64_UST:
request.bits_per_long = 64;
break;