char *base_path;
};
-/* Prototypes */
enum lttng_error_code session_create(const char *name, uid_t uid, gid_t gid,
struct ltt_session **out_session);
void session_lock(struct ltt_session *session);
+void session_unlock(struct ltt_session *session);
+
+/*
+ * The session list lock covers more ground than its name implies. While
+ * it does protect against concurent mutations of the session list, it is
+ * also used as a multi-session lock when synchronizing newly-registered
+ * 'user space tracer' and 'agent' applications.
+ *
+ * In other words, it prevents session configurations from changing while they
+ * are being transmitted to the various applications.
+ */
void session_lock_list(void);
int session_trylock_list(void);
-void session_unlock(struct ltt_session *session);
void session_unlock_list(void);
void session_destroy(struct ltt_session *session);
enum lttng_trace_chunk_command_type close_command,
char *path);
+/* Open a packet in all channels of a given session. */
+enum lttng_error_code session_open_packets(struct ltt_session *session);
+
bool session_output_supports_trace_chunks(const struct ltt_session *session);
#endif /* _LTT_SESSION_H */