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

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Thu Dec 13 13:56:35 EST 2018


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



More information about the lttng-dev mailing list