Fix: no-output sessions do not enforce snapshot constraints
[lttng-tools.git] / src / bin / lttng-sessiond / session.h
index ec03029205163cd5e230337850fed5a88edcad63..8d41c38aa60c911174f37ba92909f1c7d4ab345b 100644 (file)
@@ -81,6 +81,8 @@ struct ltt_session {
        pthread_mutex_t lock;
        struct cds_list_head list;
        uint64_t id;            /* session unique identifier */
+       /* Indicates if the session has been added to the session list and ht.*/
+       bool published;
        /* Indicates if a destroy command has been applied to this session. */
        bool destroyed;
        /* UID/GID of the user owning the session */
@@ -112,11 +114,19 @@ struct ltt_session {
        /* Indicate if the session has to output the traces or not. */
        unsigned int output_traces;
        /*
-        * This session is in snapshot mode. This means that every channel enabled
-        * will be set in overwrite mode and mmap. It is considered exclusively for
-        * snapshot purposes.
+        * This session is in snapshot mode. This means that channels enabled
+        * will be set in overwrite mode by default and must be in mmap
+        * output mode. Note that snapshots can be taken on a session that
+        * is not in "snapshot_mode". This parameter only affects channel
+        * creation defaults.
         */
        unsigned int snapshot_mode;
+       /*
+        * A session that has channels that don't use 'mmap' output can't be
+        * used to capture snapshots. This is set to true whenever a
+        * 'splice' kernel channel is enabled.
+        */
+       bool has_non_mmap_channel;
        /*
         * Timer set when the session is created for live reading.
         */
This page took 0.024002 seconds and 5 git commands to generate.