#include <urcu/list.h>
#include <urcu/ref.h>
+#include <lttng/constant.h>
#include <common/hashtable/hashtable.h>
/*
* It is used to match a set of streams to their session.
*/
uint64_t id;
- char session_name[NAME_MAX];
- char hostname[HOST_NAME_MAX];
+ char session_name[LTTNG_NAME_MAX];
+ char hostname[LTTNG_HOST_NAME_MAX];
uint32_t live_timer;
/* Session in snapshot mode. */
*/
struct urcu_ref ref;
- /* session reflock nests inside ctf_trace reflock. */
- pthread_mutex_t reflock;
pthread_mutex_t lock;
/* Tell if the session connection has been closed on the streaming side. */
bool connection_closed;
+ /*
+ * Tell if the session is currently living in a exiting relayd and
+ * should be cleaned forcefully without waiting for pending data or
+ * pending ctrl data.
+ */
+ bool aborted;
+
/* Contains ctf_trace object of that session indexed by path name. */
struct lttng_ht *ctf_traces_ht;
void session_put(struct relay_session *session);
int session_close(struct relay_session *session);
+int session_abort(struct relay_session *session);
+
void print_sessions(void);
#endif /* _SESSION_H */