Clean-up: sessiond: return an lttng_error_code from list_triggers
[lttng-tools.git] / src / bin / lttng-sessiond / channel.c
index b270a43ca3a29118a1218c6d32308ec1496fdef0..073965ac67bd708e6184915d62431f5342312675 100644 (file)
@@ -1,19 +1,9 @@
 /*
- * Copyright (C) 2011 David Goulet <david.goulet@polymtl.ca>
- * Copyright (C) 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
+ * Copyright (C) 2011 David Goulet <david.goulet@polymtl.ca>
+ * Copyright (C) 2016 Jérémie Galarneau <jeremie.galarneau@efficios.com>
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License, version 2 only,
- * as published by the Free Software Foundation.
+ * SPDX-License-Identifier: GPL-2.0-only
  *
- * This program 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 General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License along
- * with this program; if not, write to the Free Software Foundation, Inc.,
- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
  */
 
 #define _LGPL_SOURCE
@@ -28,7 +18,8 @@
 #include "channel.h"
 #include "lttng-sessiond.h"
 #include "kernel.h"
-#include "ust-ctl.h"
+#include "lttng-ust-ctl.h"
+#include "lttng-ust-error.h"
 #include "utils.h"
 #include "ust-app.h"
 #include "agent.h"
@@ -406,7 +397,7 @@ int channel_ust_create(struct ltt_ust_session *usess,
        /*
         * Invalid subbuffer size if it's lower then the page size.
         */
-       if (attr->attr.subbuf_size < page_size) {
+       if (attr->attr.subbuf_size < the_page_size) {
                ret = LTTNG_ERR_INVALID;
                goto error;
        }
@@ -470,15 +461,6 @@ int channel_ust_create(struct ltt_ust_session *usess,
                goto error_free_chan;
        }
 
-       if (usess->active) {
-               /* Enable channel for global domain */
-               ret = ust_app_create_channel_glb(usess, uchan);
-               if (ret < 0 && ret != -LTTNG_UST_ERR_EXIST) {
-                       ret = LTTNG_ERR_UST_CHAN_FAIL;
-                       goto error_free_chan;
-               }
-       }
-
        /* Adding the channel to the channel hash table. */
        rcu_read_lock();
        if (strncmp(uchan->name, DEFAULT_METADATA_NAME,
@@ -540,6 +522,13 @@ int channel_ust_disable(struct ltt_ust_session *usess,
                DBG2("Channel UST %s already disabled", uchan->name);
                goto end;
        }
+
+       uchan->enabled = 0;
+
+       /*
+        * If session is inactive we don't notify the tracer right away. We
+        * wait for the next synchronization.
+        */
        if (!usess->active) {
                goto end;
        }
@@ -552,8 +541,6 @@ int channel_ust_disable(struct ltt_ust_session *usess,
                goto error;
        }
 
-       uchan->enabled = 0;
-
        DBG2("Channel %s disabled successfully", uchan->name);
 
        return LTTNG_OK;
This page took 0.026091 seconds and 4 git commands to generate.