X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=src%2Fcommon%2Fconsumer%2Fconsumer.h;h=54b919d2885905b8ff341c97462d125239180d9b;hb=0795c812fa10f1aacf1c2793d4d882991589d59a;hp=66092d3c5bc5888b0c2aa603a9c2255532c50af8;hpb=b7fa98e6ecaefea815ae0a41b9b97353dd17de8a;p=lttng-tools.git diff --git a/src/common/consumer/consumer.h b/src/common/consumer/consumer.h index 66092d3c5..54b919d28 100644 --- a/src/common/consumer/consumer.h +++ b/src/common/consumer/consumer.h @@ -423,7 +423,7 @@ struct consumer_relayd_sock_pair { /* 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 @@ -457,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; + struct lttng_consumer_local_data *ctx; }; /* @@ -593,6 +594,12 @@ struct lttng_consumer_global_data { 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. */ @@ -733,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); +void lttng_consumer_cleanup_relayd(struct consumer_relayd_sock_pair *relayd); #endif /* LIB_CONSUMER_H */