projects
/
lttng-tools.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fix: perform relayd socket pair cleanup on control socket error
[lttng-tools.git]
/
src
/
common
/
consumer
/
consumer.h
diff --git
a/src/common/consumer/consumer.h
b/src/common/consumer/consumer.h
index 256ea1976016feffcf805d5d5bd0df3d8598a2bf..54b919d2885905b8ff341c97462d125239180d9b 100644
(file)
--- a/
src/common/consumer/consumer.h
+++ b/
src/common/consumer/consumer.h
@@
-218,6
+218,8
@@
struct lttng_consumer_channel {
uint64_t discarded_events;
/* Total number of missed packets due to overwriting (overwrite). */
uint64_t lost_packets;
uint64_t discarded_events;
/* Total number of missed packets due to overwriting (overwrite). */
uint64_t lost_packets;
+
+ bool streams_sent_to_relayd;
};
/*
};
/*
@@
-337,9
+339,9
@@
struct lttng_consumer_stream {
* Lock to use the stream FDs since they are used between threads.
*
* This is nested INSIDE the consumer_data lock.
* Lock to use the stream FDs since they are used between threads.
*
* This is nested INSIDE the consumer_data lock.
- * This is nested INSIDE the metadata cache lock.
* This is nested INSIDE the channel lock.
* This is nested INSIDE the channel timer lock.
* This is nested INSIDE the channel lock.
* This is nested INSIDE the channel timer lock.
+ * This is nested OUTSIDE the metadata cache lock.
* This is nested OUTSIDE consumer_relayd_sock_pair lock.
*/
pthread_mutex_t lock;
* This is nested OUTSIDE consumer_relayd_sock_pair lock.
*/
pthread_mutex_t lock;
@@
-390,9
+392,9
@@
struct lttng_consumer_stream {
/* Copy of the sequence number of the last packet extracted. */
uint64_t last_sequence_number;
/*
/* Copy of the sequence number of the last packet extracted. */
uint64_t last_sequence_number;
/*
- *
FD
of the index file for this stream.
+ *
Index file object
of the index file for this stream.
*/
*/
-
int index_fd
;
+
struct lttng_index_file *index_file
;
/*
* Local pipe to extract data when using splice.
/*
* Local pipe to extract data when using splice.
@@
-421,7
+423,7
@@
struct consumer_relayd_sock_pair {
/* Network sequence number. */
uint64_t net_seq_idx;
/* Number of stream associated with this relayd */
/* Network sequence number. */
uint64_t net_seq_idx;
/* Number of stream associated with this relayd */
-
unsigned
int refcount;
+ int refcount;
/*
* This flag indicates whether or not we should destroy this object. The
/*
* This flag indicates whether or not we should destroy this object. The
@@
-455,6
+457,7
@@
struct consumer_relayd_sock_pair {
/* Session id on both sides for the sockets. */
uint64_t relayd_session_id;
uint64_t sessiond_session_id;
/* Session id on both sides for the sockets. */
uint64_t relayd_session_id;
uint64_t sessiond_session_id;
+ struct lttng_consumer_local_data *ctx;
};
/*
};
/*
@@
-591,6
+594,12
@@
struct lttng_consumer_global_data {
struct lttng_ht *stream_per_chan_id_ht;
};
struct lttng_ht *stream_per_chan_id_ht;
};
+/*
+ * Set to nonzero when the consumer is exiting. Updated by signal
+ * handler and thread exit, read by threads.
+ */
+extern volatile int consumer_quit;
+
/*
* Init consumer data structures.
*/
/*
* Init consumer data structures.
*/
@@
-731,5
+740,6
@@
void consumer_del_stream_for_data(struct lttng_consumer_stream *stream);
int consumer_add_metadata_stream(struct lttng_consumer_stream *stream);
void consumer_del_stream_for_metadata(struct lttng_consumer_stream *stream);
int consumer_create_index_file(struct lttng_consumer_stream *stream);
int consumer_add_metadata_stream(struct lttng_consumer_stream *stream);
void consumer_del_stream_for_metadata(struct lttng_consumer_stream *stream);
int consumer_create_index_file(struct lttng_consumer_stream *stream);
+void lttng_consumer_cleanup_relayd(struct consumer_relayd_sock_pair *relayd);
#endif /* LIB_CONSUMER_H */
#endif /* LIB_CONSUMER_H */
This page took
0.025176 seconds
and
4
git commands to generate.