Fix: Returned code when listing kernel channel
[lttng-tools.git] / src / bin / lttng / commands / list.c
index 50d6114c3d166be10483b71974b6418cf6152494..71843fdab9ee6d07f50358a3d0f24006e2444b7b 100644 (file)
@@ -25,6 +25,8 @@
 
 #include "../command.h"
 
+#include <common/sessiond-comm/sessiond-comm.h>
+
 static int opt_userspace;
 static int opt_kernel;
 static char *opt_channel;
@@ -412,11 +414,21 @@ static int list_channels(const char *channel_name)
 
        count = lttng_list_channels(handle, &channels);
        if (count < 0) {
-               ret = count;
+               switch (-count) {
+               case LTTCOMM_KERN_CHAN_NOT_FOUND:
+                       ret = CMD_SUCCESS;
+                       WARN("No kernel channel");
+                       break;
+               case LTTCOMM_UST_CHAN_NOT_FOUND:
+                       ret = CMD_SUCCESS;
+                       WARN("No UST channel");
+                       break;
+               default:
+                       /* We had a real error */
+                       ret = count;
+                       ERR("%s", lttng_strerror(ret));
+               }
                goto error_channels;
-       } else if (count == 0) {
-               ERR("Channel %s not found", channel_name);
-               goto error;
        }
 
        if (channel_name == NULL) {
This page took 0.023025 seconds and 4 git commands to generate.