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>
Tue, 6 Mar 2018 16:37:27 +0000 (11:37 -0500)
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 c3ad597ed8eb50d69dd9a57e65399a996ff423b3..7e6520d29f51d3c9f8dbd4781d9383fa4fbbb829 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.02612 seconds and 4 git commands to generate.