[lttng-dev] [PATCH lttng-tools v2 2/2] save/load: add blocking_timeout attribute to channel

Jérémie Galarneau jeremie.galarneau at efficios.com
Tue Jul 25 19:48:14 UTC 2017


Merged in master and stable-2.10. Thanks!

Jérémie

On 6 July 2017 at 11:08, Jonathan Rajotte
<jonathan.rajotte-julien at efficios.com> wrote:
> Fixes #1119
>
> Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien at efficios.com>
> ---
>  src/bin/lttng-sessiond/save.c      | 14 ++++++++++++++
>  src/common/config/session-config.c | 25 +++++++++++++++++++++++++
>  2 files changed, 39 insertions(+)
>
> diff --git a/src/bin/lttng-sessiond/save.c b/src/bin/lttng-sessiond/save.c
> index 3c34c856..542225e4 100644
> --- a/src/bin/lttng-sessiond/save.c
> +++ b/src/bin/lttng-sessiond/save.c
> @@ -114,6 +114,13 @@ int save_kernel_channel_attributes(struct config_writer *writer,
>                 if (ret) {
>                         goto end;
>                 }
> +
> +               ret = config_writer_write_element_signed_int(writer,
> +                               config_element_blocking_timeout,
> +                               ext->blocking_timeout);
> +               if (ret) {
> +                       goto end;
> +               }
>         }
>
>  end:
> @@ -170,6 +177,13 @@ int save_ust_channel_attributes(struct config_writer *writer,
>                 goto end;
>         }
>
> +       ret = config_writer_write_element_signed_int(writer,
> +                       config_element_blocking_timeout,
> +                       attr->u.s.blocking_timeout);
> +       if (ret) {
> +               goto end;
> +       }
> +
>         /*
>          * Fetch the monitor timer which is located in the parent of
>          * lttng_ust_channel_attr
> diff --git a/src/common/config/session-config.c b/src/common/config/session-config.c
> index 6042f1dc..36793a6c 100644
> --- a/src/common/config/session-config.c
> +++ b/src/common/config/session-config.c
> @@ -2112,6 +2112,31 @@ int process_channel_attr_node(xmlNodePtr attr_node,
>                         goto end;
>                 }
>         } else if (!strcmp((const char *) attr_node->name,
> +                       config_element_blocking_timeout)) {
> +               xmlChar *content;
> +               int64_t blocking_timeout = 0;
> +
> +               /* blocking_timeout */
> +               content = xmlNodeGetContent(attr_node);
> +               if (!content) {
> +                       ret = -LTTNG_ERR_NOMEM;
> +                       goto end;
> +               }
> +
> +               ret = parse_int(content, &blocking_timeout);
> +               free(content);
> +               if (ret) {
> +                       ret = -LTTNG_ERR_LOAD_INVALID_CONFIG;
> +                       goto end;
> +               }
> +
> +               ret = lttng_channel_set_blocking_timeout(channel,
> +                       blocking_timeout);
> +               if (ret) {
> +                       ret = -LTTNG_ERR_LOAD_INVALID_CONFIG;
> +                       goto end;
> +               }
> +       } else if (!strcmp((const char *) attr_node->name,
>                         config_element_events)) {
>                 /* events */
>                 *events_node = attr_node;
> --
> 2.11.0
>



-- 
Jérémie Galarneau
EfficiOS Inc.
http://www.efficios.com


More information about the lttng-dev mailing list