Change connect_pipe to get dlog_control_msg struct by pointer 68/253568/2
authorMichal Bloch <m.bloch@samsung.com>
Mon, 15 Feb 2021 14:02:22 +0000 (15:02 +0100)
committerMichal Bloch <m.bloch@samsung.com>
Tue, 23 Feb 2021 00:29:39 +0000 (01:29 +0100)
As this struct has a flexible array member, a pointer fits better.

Change-Id: I6df7c1c372ea0f061bca05faf9538713c77f8a75

include/logpipe.h
src/libdlog/log_pipe.c
src/shared/connect_pipe.c

index a3b2d6f..7172f75 100644 (file)
@@ -54,6 +54,6 @@ struct dlog_control_msg {
 /* should fit a whole command line with concatenated arguments (reasonably) */
 #define MAX_LOGGER_REQUEST_LEN 127
 
-int connect_pipe(const char *path, struct dlog_control_msg ctrl_msg, int timeout_ms);
+int connect_pipe(const char *path, struct dlog_control_msg *ctrl_msg, int timeout_ms);
 
 #endif
index aaaabd6..a7a2107 100644 (file)
@@ -61,7 +61,7 @@ static int __reconnect_pipe(log_id_t log_id)
        const int wrlock = pthread_rwlock_wrlock(&log_pipe_lock);
        assert(!wrlock); // we are never supposed to have a read lock at this point so wrlock() can't fail
 
-       new_fd = connect_pipe(log_pipe_path[log_id], DLOG_CTRL_REQ_PIPE, wait_pipe_ms);
+       new_fd = connect_pipe(log_pipe_path[log_id], &DLOG_CTRL_REQ_PIPE, wait_pipe_ms);
        if (new_fd < 0) {
                /* if connnecting fails consequently assume
                 * dlog_logger is broken and reduce the timeout to
index 592b4b4..56104bc 100644 (file)
@@ -14,7 +14,7 @@
  * @param[in] timeout_ms How long to wait for input on sockfd, forever if 0
  * @return Pipe file descriptor, or negative errno on failure
  */
-int connect_pipe(const char *path, struct dlog_control_msg ctrl_msg, int timeout_ms)
+int connect_pipe(const char *path, struct dlog_control_msg *ctrl_msg, int timeout_ms)
 {
        int r;
        int fd;
@@ -33,7 +33,7 @@ int connect_pipe(const char *path, struct dlog_control_msg ctrl_msg, int timeout
                return -errno;
        }
 
-       r = write(fd, &ctrl_msg, ctrl_msg.length);
+       r = write(fd, ctrl_msg, ctrl_msg->length);
        if (r < 0) {
                close(fd);
                return -errno;