projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Tests: Fix nprocesses applications shutdown
[lttng-tools.git]
/
src
/
common
/
consumer.h
diff --git
a/src/common/consumer.h
b/src/common/consumer.h
index a3e1ec3535094f169042d1bd70dae73fc19d5f58..82b9bc65f37f99a45f2db11b625f98597e7a5c6b 100644
(file)
--- a/
src/common/consumer.h
+++ b/
src/common/consumer.h
@@
-52,6
+52,7
@@
enum lttng_consumer_command {
LTTNG_CONSUMER_PUSH_METADATA,
LTTNG_CONSUMER_CLOSE_METADATA,
LTTNG_CONSUMER_SETUP_METADATA,
LTTNG_CONSUMER_PUSH_METADATA,
LTTNG_CONSUMER_CLOSE_METADATA,
LTTNG_CONSUMER_SETUP_METADATA,
+ LTTNG_CONSUMER_FLUSH_CHANNEL,
};
/* State of each fd in consumer */
};
/* State of each fd in consumer */
@@
-136,6
+137,11
@@
struct lttng_consumer_channel {
* contiguousness and order.
*/
uint64_t contig_metadata_written;
* contiguousness and order.
*/
uint64_t contig_metadata_written;
+
+ /* for UST */
+ int wait_fd;
+ /* Node within channel thread ht */
+ struct lttng_ht_node_u64 wait_fd_node;
};
/*
};
/*
@@
-145,6
+151,8
@@
struct lttng_consumer_channel {
struct lttng_consumer_stream {
/* HT node used by the data_ht and metadata_ht */
struct lttng_ht_node_u64 node;
struct lttng_consumer_stream {
/* HT node used by the data_ht and metadata_ht */
struct lttng_ht_node_u64 node;
+ /* stream indexed per channel key node */
+ struct lttng_ht_node_u64 node_channel_id;
/* HT node used in consumer_data.stream_list_ht */
struct lttng_ht_node_u64 node_session_id;
/* Pointer to associated channel. */
/* HT node used in consumer_data.stream_list_ht */
struct lttng_ht_node_u64 node_session_id;
/* Pointer to associated channel. */
@@
-320,6
+328,7
@@
struct lttng_consumer_local_data {
char *consumer_command_sock_path;
/* communication with splice */
int consumer_thread_pipe[2];
char *consumer_command_sock_path;
/* communication with splice */
int consumer_thread_pipe[2];
+ int consumer_channel_pipe[2];
int consumer_splice_metadata_pipe[2];
/* Data stream poll thread pipe. To transfer data stream to the thread */
int consumer_data_pipe[2];
int consumer_splice_metadata_pipe[2];
/* Data stream poll thread pipe. To transfer data stream to the thread */
int consumer_data_pipe[2];
@@
-372,6
+381,11
@@
struct lttng_consumer_global_data {
* This HT uses the "node_session_id" of the consumer stream.
*/
struct lttng_ht *stream_list_ht;
* This HT uses the "node_session_id" of the consumer stream.
*/
struct lttng_ht *stream_list_ht;
+
+ /*
+ * This HT uses the "node_channel_id" of the consumer stream.
+ */
+ struct lttng_ht *stream_per_chan_id_ht;
};
/*
};
/*
@@
-444,7
+458,8
@@
void consumer_del_stream(struct lttng_consumer_stream *stream,
struct lttng_ht *ht);
void consumer_del_metadata_stream(struct lttng_consumer_stream *stream,
struct lttng_ht *ht);
struct lttng_ht *ht);
void consumer_del_metadata_stream(struct lttng_consumer_stream *stream,
struct lttng_ht *ht);
-int consumer_add_channel(struct lttng_consumer_channel *channel);
+int consumer_add_channel(struct lttng_consumer_channel *channel,
+ struct lttng_consumer_local_data *ctx);
void consumer_del_channel(struct lttng_consumer_channel *channel);
/* lttng-relayd consumer command */
void consumer_del_channel(struct lttng_consumer_channel *channel);
/* lttng-relayd consumer command */
@@
-478,6
+493,7
@@
int lttng_consumer_get_produced_snapshot(struct lttng_consumer_stream *stream,
void *consumer_thread_metadata_poll(void *data);
void *consumer_thread_data_poll(void *data);
void *consumer_thread_sessiond_poll(void *data);
void *consumer_thread_metadata_poll(void *data);
void *consumer_thread_data_poll(void *data);
void *consumer_thread_sessiond_poll(void *data);
+void *consumer_thread_channel_poll(void *data);
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);
This page took
0.023348 seconds
and
4
git commands to generate.