Fix: relayd: harmonize path format in backward-compat mode
[lttng-tools.git] / src / bin / lttng-relayd / main.c
index 3295b009a40f1a93ddc766e288f1bd3cdcb2cf54..5f70df481d9f60f0aec35d1aa1d34894aeed577b 100644 (file)
@@ -230,7 +230,7 @@ static int set_option(int opt, const char *arg, const char *optname)
 
                        errno = 0;
                        v = strtoul(arg, NULL, 0);
-                       if (errno != 0 || !isdigit(arg[0])) {
+                       if (errno != 0 || !isdigit((unsigned char) arg[0])) {
                                ERR("Wrong value in --fd-pool-size parameter: %s", arg);
                                ret = -1;
                                goto end;
@@ -507,7 +507,7 @@ static int set_fd_pool_size(void)
                goto end;
        }
 
-       DBG("File descriptor pool size argument (%u) adjusted to %u to accomodate transient fd uses",
+       DBG("File descriptor pool size argument (%u) adjusted to %u to accommodates transient fd uses",
                        lttng_opt_fd_pool_size,
                        lttng_opt_fd_pool_size - DEFAULT_RELAYD_FD_POOL_SIZE_RESERVE);
        lttng_opt_fd_pool_size -= DEFAULT_RELAYD_FD_POOL_SIZE_RESERVE;
@@ -918,6 +918,10 @@ static int create_named_thread_poll_set(struct lttng_poll_event *events,
 
        ret = fd_tracker_util_poll_create(the_fd_tracker,
                        name, events, 1, LTTNG_CLOEXEC);
+       if (ret) {
+               PERROR("Failed to create \"%s\" poll file descriptor", name);
+               goto error;
+       }
 
        /* Add quit pipe */
        ret = lttng_poll_add(events, thread_quit_pipe[0], LPOLLIN | LPOLLERR);
@@ -1018,7 +1022,11 @@ static struct lttcomm_sock *relay_socket_create(struct lttng_uri *uri,
        ret = fd_tracker_open_unsuspendable_fd(the_fd_tracker, &sock_fd,
                        (const char **) (formated_name ? &formated_name : NULL),
                        1, create_sock, sock);
-       free(formated_name);
+       if (ret) {
+               PERROR("Failed to open \"%s\" relay socket",
+                               formated_name ?: "Unknown");
+               goto error;
+       }
        DBG("Listening on %s socket %d", name, sock->fd);
 
        ret = sock->ops->bind(sock);
@@ -1033,12 +1041,14 @@ static struct lttcomm_sock *relay_socket_create(struct lttng_uri *uri,
 
        }
 
+       free(formated_name);
        return sock;
 
 error:
        if (sock) {
                lttcomm_destroy_sock(sock);
        }
+       free(formated_name);
        return NULL;
 }
 
@@ -1622,7 +1632,8 @@ static int relay_add_stream(const struct lttcomm_relayd_hdr *recv_hdr,
                        group_by_session_path_name =
                                        backward_compat_group_by_session(
                                                        path_name,
-                                                       session->session_name);
+                                                       session->session_name,
+                                                       session->creation_time.value);
                        if (!group_by_session_path_name) {
                                ERR("Failed to apply group by session to stream of session %" PRIu64,
                                                session->id);
@@ -2934,7 +2945,7 @@ static int relay_close_trace_chunk(const struct lttcomm_relayd_hdr *recv_hdr,
                                new_path);
                if (chunk_status != LTTNG_TRACE_CHUNK_STATUS_OK) {
                        ret = -1;
-                       goto end;
+                       goto end_unlock_session;
                }
                session->ongoing_rotation = false;
        }
@@ -2952,7 +2963,7 @@ static int relay_close_trace_chunk(const struct lttcomm_relayd_hdr *recv_hdr,
                chunk_status = lttng_trace_chunk_rename_path(chunk, old_path);
                if (chunk_status != LTTNG_TRACE_CHUNK_STATUS_OK) {
                        ret = -1;
-                       goto end;
+                       goto end_unlock_session;
                }
        }
        chunk_status = lttng_trace_chunk_set_close_timestamp(
This page took 0.024633 seconds and 4 git commands to generate.