[lttng-dev] [PATCH lttng-tools] Fix: run_command_wait() handle partial write

Jérémie Galarneau jeremie.galarneau at efficios.com
Tue Jan 22 15:33:07 EST 2019


Merged in master, stable-2.11, and stable-2.10.

Thanks,
Jérémie

On Thu, 13 Dec 2018 at 13:56, Mathieu Desnoyers
<mathieu.desnoyers at efficios.com> wrote:
>
> Use lttng_write() to handle partial writes (writing less than the
> requested amount of bytes) as well as ret = -1, errno = EINTR.
>
> Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
> ---
>  src/bin/lttng-sessiond/notification-thread-commands.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/bin/lttng-sessiond/notification-thread-commands.c b/src/bin/lttng-sessiond/notification-thread-commands.c
> index 11275ffc..129cf4ee 100644
> --- a/src/bin/lttng-sessiond/notification-thread-commands.c
> +++ b/src/bin/lttng-sessiond/notification-thread-commands.c
> @@ -44,9 +44,9 @@ int run_command_wait(struct notification_thread_handle *handle,
>         cds_list_add_tail(&cmd->cmd_list_node,
>                         &handle->cmd_queue.list);
>         /* Wake-up thread. */
> -       ret = write(lttng_pipe_get_writefd(handle->cmd_queue.event_pipe),
> +       ret = lttng_write(lttng_pipe_get_writefd(handle->cmd_queue.event_pipe),
>                         &notification_counter, sizeof(notification_counter));
> -       if (ret < 0) {
> +       if (ret != sizeof(notification_counter)) {
>                 PERROR("write to notification thread's queue event fd");
>                 /*
>                  * Remove the command from the list so the notification
> --
> 2.11.0
>


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


More information about the lttng-dev mailing list