From: Mathieu Desnoyers Date: Thu, 13 Dec 2018 18:56:35 +0000 (-0500) Subject: Fix: run_command_wait() handle partial write X-Git-Tag: v2.10.6~7 X-Git-Url: https://git.lttng.org./?a=commitdiff_plain;h=9799868ecf450c395ed0cbe95f47fbe9e1566481;p=lttng-tools.git Fix: run_command_wait() handle partial write 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 Signed-off-by: Jérémie Galarneau --- diff --git a/src/bin/lttng-sessiond/notification-thread-commands.c b/src/bin/lttng-sessiond/notification-thread-commands.c index cca667476..dc782e293 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), ¬ification_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