lttng-ctl: health: remove unreachable condition
[lttng-tools.git] / src / lib / lttng-ctl / lttng-ctl-health.c
index a3863619f78587cb842ea8e25c510be7c1a986ba..3de74fd11009bee33df7710f2a6d25fdeda1d05f 100644 (file)
@@ -6,25 +6,16 @@
  * Copyright (C) 2011 David Goulet <david.goulet@polymtl.ca>
  * Copyright (C) 2013 Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
  *
- * This library is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License, version 2.1 only,
- * as published by the Free Software Foundation.
+ * SPDX-License-Identifier: LGPL-2.1-only
  *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public License
- * along with this library; if not, write to the Free Software Foundation,
- * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
  */
 
+#define _LGPL_SOURCE
 #include <unistd.h>
 #include <sys/types.h>
 #include <stdint.h>
 #include <limits.h>
-#include <errno.h>
+#include <string.h>
 #include <lttng/health-internal.h>
 
 #include <bin/lttng-sessiond/health-sessiond.h>
@@ -32,6 +23,7 @@
 #include <bin/lttng-relayd/health-relayd.h>
 #include <common/defaults.h>
 #include <common/utils.h>
+#include <common/compat/errno.h>
 
 #include "lttng-ctl-helper.h"
 
@@ -68,6 +60,9 @@ const char *sessiond_thread_name[NR_HEALTH_SESSIOND_TYPES] = {
        [ HEALTH_SESSIOND_TYPE_HT_CLEANUP ] = "Session daemon hash table cleanup",
        [ HEALTH_SESSIOND_TYPE_APP_MANAGE_NOTIFY ] = "Session daemon application notification manager",
        [ HEALTH_SESSIOND_TYPE_APP_REG_DISPATCH ] = "Session daemon application registration dispatcher",
+       [ HEALTH_SESSIOND_TYPE_ROTATION ] = "Session daemon rotation manager",
+       [ HEALTH_SESSIOND_TYPE_TIMER ] = "Session daemon timer manager",
+       [ HEALTH_SESSIOND_TYPE_ACTION_EXECUTOR ] = "Session daemon trigger action executor",
 };
 
 static
@@ -84,6 +79,9 @@ const char *relayd_thread_name[NR_HEALTH_RELAYD_TYPES] = {
        [ HEALTH_RELAYD_TYPE_DISPATCHER ] = "Relay daemon dispatcher",
        [ HEALTH_RELAYD_TYPE_WORKER ] = "Relay daemon worker",
        [ HEALTH_RELAYD_TYPE_LISTENER ] = "Relay daemon listener",
+       [ HEALTH_RELAYD_TYPE_LIVE_DISPATCHER ] = "Relay daemon live dispatcher",
+       [ HEALTH_RELAYD_TYPE_LIVE_WORKER ] = "Relay daemon live worker",
+       [ HEALTH_RELAYD_TYPE_LIVE_LISTENER ] = "Relay daemon live listener",
 };
 
 static
@@ -96,7 +94,7 @@ const char **thread_name[NR_HEALTH_COMPONENT] = {
 /*
  * Set health socket path.
  *
- * Returns 0 on success or -ENOMEM.
+ * Returns 0 on success or a negative errno.
  */
 static
 int set_health_socket_path(struct lttng_health *lh,
@@ -145,10 +143,10 @@ int set_health_socket_path(struct lttng_health *lh,
        uid = getuid();
 
        if (uid == 0 || tracing_group) {
-               lttng_ctl_copy_string(lh->health_sock_path,
+               ret = lttng_strncpy(lh->health_sock_path,
                                global_str,
                                sizeof(lh->health_sock_path));
-               return 0;
+               return ret == 0 ? 0 : -EINVAL;
        }
 
        /*
@@ -220,20 +218,30 @@ struct lttng_health *
 
 struct lttng_health *lttng_health_create_relayd(const char *path)
 {
-       struct lttng_health *lh;
+       int ret;
+       struct lttng_health *lh = NULL;
 
        if (!path) {
-               return NULL;
+               goto error;
        }
 
        lh = lttng_health_create(HEALTH_COMPONENT_RELAYD,
                        NR_HEALTH_RELAYD_TYPES);
        if (!lh) {
-               return NULL;
+               goto error;
        }
-       lttng_ctl_copy_string(lh->health_sock_path, path,
-               sizeof(lh->health_sock_path));
+
+       ret = lttng_strncpy(lh->health_sock_path, path,
+                       sizeof(lh->health_sock_path));
+       if (ret) {
+               goto error;
+       }
+
        return lh;
+
+error:
+       free(lh);
+       return NULL;
 }
 
 void lttng_health_destroy(struct lttng_health *lh)
@@ -257,7 +265,7 @@ retry:
        if (ret) {
                goto error;
        }
-       /* Connect to the sesssion daemon */
+       /* Connect to component */
        sock = lttcomm_connect_unix_sock(health->health_sock_path);
        if (sock < 0) {
                if (tracing_group) {
@@ -269,6 +277,7 @@ retry:
                goto error;
        }
 
+       memset(&msg, 0, sizeof(msg));
        msg.cmd = HEALTH_CMD_CHECK;
 
        ret = lttcomm_send_unix_sock(sock, (void *)&msg, sizeof(msg));
This page took 0.024293 seconds and 4 git commands to generate.