X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer.h;h=aef7f560e4dcae78e62343eae1492de6ea85434b;hb=3d229795de7f38cce87d6d5ea76ef413dbb71f1d;hp=6eb5b61bb25b806d12c8cea2262a70329c87fcff;hpb=ecc48a904cc7c419fd1400afaa9ccb93be490cdd;p=lttng-tools.git diff --git a/src/common/consumer.h b/src/common/consumer.h index 6eb5b61bb..aef7f560e 100644 --- a/src/common/consumer.h +++ b/src/common/consumer.h @@ -156,11 +156,16 @@ struct lttng_consumer_channel { /* Metadata cache is metadata channel */ struct consumer_metadata_cache *metadata_cache; - /* For metadata periodical flush */ + /* For UST metadata periodical flush */ int switch_timer_enabled; timer_t switch_timer; int switch_timer_error; + /* For the live mode */ + int live_timer_enabled; + timer_t live_timer; + int live_timer_error; + /* On-disk circular buffer */ uint64_t tracefile_size; uint64_t tracefile_count; @@ -329,6 +334,12 @@ struct lttng_consumer_stream { * FD of the index file for this stream. */ int index_fd; + + /* + * Rendez-vous point between data and metadata stream in live mode. + */ + pthread_cond_t metadata_rdv; + pthread_mutex_t metadata_rdv_lock; }; /* @@ -622,7 +633,7 @@ int lttng_consumer_on_recv_stream(struct lttng_consumer_stream *stream); int consumer_add_relayd_socket(uint64_t net_seq_idx, int sock_type, struct lttng_consumer_local_data *ctx, int sock, struct pollfd *consumer_sockpoll, struct lttcomm_relayd_sock *relayd_sock, - uint64_t sessiond_id); + uint64_t sessiond_id, uint64_t relayd_session_id); void consumer_flag_relayd_for_destroy( struct consumer_relayd_sock_pair *relayd); int consumer_data_pending(uint64_t id);