Fix: relayd send_command() util not logging on failure
authorJérémie Galarneau <jeremie.galarneau@efficios.com>
Tue, 6 Mar 2018 16:35:23 +0000 (11:35 -0500)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 25 Apr 2018 15:38:57 +0000 (11:38 -0400)
send_command() only logs if it succeeds in sending a command to
the relay daemon.

This commit makes the helper log _before_ sending the command
so that errors can be associated back to the command being sent.
Moreover, PERROR() is used to log errors returned by sendmsg().

Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/common/relayd/relayd.c

index 4cb1c1fd339d248d028901ad4c390faa8b1f654e..b936a4d3e7798e35e90983b6e20692d2b291bfc8 100644 (file)
@@ -72,14 +72,14 @@ static int send_command(struct lttcomm_relayd_sock *rsock,
                memcpy(buf + sizeof(header), data, size);
        }
 
+       DBG3("Relayd sending command %d of size %" PRIu64, (int) cmd, buf_size);
        ret = rsock->sock.ops->sendmsg(&rsock->sock, buf, buf_size, flags);
        if (ret < 0) {
+               PERROR("Failed to send command %d of size %" PRIu64,
+                               (int) cmd, buf_size);
                ret = -errno;
                goto error;
        }
-
-       DBG3("Relayd sending command %d of size %" PRIu64, cmd, buf_size);
-
 error:
        free(buf);
 alloc_error:
This page took 0.027051 seconds and 5 git commands to generate.