Hi Jiri,

On Sun, Jan 31, 2021 at 8:49 AM Jiri Olsa <[email protected]> wrote:
[SNIP]
> +#define SESSION_OUTPUT  "output"
> +
> +/*
> + * Session states:
> + *
> + *   OK       - session is up and running
> + *   RECONFIG - session is pending for reconfiguration,
> + *              new values are already loaded in session object
> + *   KILL     - session is pending to be killed
> + *
> + * Session object life and its state is maintained by
> + * following functions:
> + *
> + *  setup_server_config
> + *    - reads config file and setup session objects
> + *      with following states:
> + *
> + *      OK       - no change needed
> + *      RECONFIG - session needs to be changed
> + *                 (run variable changed)
> + *      KILL     - session needs to be killed
> + *                 (session is no longer in config file)
> + *
> + *  daemon__reconfig
> + *    - scans session objects and does following actions
> + *      for states:
> + *
> + *      OK       - skip
> + *      RECONFIG - session is killed and re-run with new config
> + *      KILL     - session is killed
> + *
> + *    - all sessions have OK state on the function exit
> + */
> +enum session_state {
> +       SESSION_STATE__OK,
> +       SESSION_STATE__RECONFIG,
> +       SESSION_STATE__KILL,
> +};
> +
> +struct session {
> +       char                    *base;
> +       char                    *name;
> +       char                    *run;
> +       int                      pid;
> +       struct list_head         list;
> +       enum session_state       state;
> +};

Although I think calling it 'session' is intuitive, it's also confusing
as we already have struct perf_session...

Thanks,
Namhyung

Reply via email to