Report error if any disable action fails
authorJonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Thu, 10 Sep 2015 20:10:57 +0000 (16:10 -0400)
committerJérémie Galarneau <jeremie.galarneau@efficios.com>
Wed, 16 Sep 2015 19:17:17 +0000 (15:17 -0400)
Signed-off-by: Jonathan Rajotte <jonathan.rajotte-julien@efficios.com>
Signed-off-by: Jérémie Galarneau <jeremie.galarneau@efficios.com>
src/bin/lttng-sessiond/event.c

index 38cbe7925cab09e1ec6b78c910e99432aa5c5ca4..13f09a51efad3b2f8b3a7e81ebc7ac5d2795c724 100644 (file)
@@ -359,7 +359,7 @@ error:
 int event_ust_disable_all_tracepoints(struct ltt_ust_session *usess,
                struct ltt_ust_channel *uchan)
 {
 int event_ust_disable_all_tracepoints(struct ltt_ust_session *usess,
                struct ltt_ust_channel *uchan)
 {
-       int ret, i, size;
+       int ret, i, size, error = 0;
        struct lttng_ht_iter iter;
        struct ltt_ust_event *uevent = NULL;
        struct lttng_event *events = NULL;
        struct lttng_ht_iter iter;
        struct ltt_ust_event *uevent = NULL;
        struct lttng_event *events = NULL;
@@ -376,6 +376,7 @@ int event_ust_disable_all_tracepoints(struct ltt_ust_session *usess,
                        ret = event_ust_disable_tracepoint(usess, uchan,
                                        uevent->attr.name);
                        if (ret < 0) {
                        ret = event_ust_disable_tracepoint(usess, uchan,
                                        uevent->attr.name);
                        if (ret < 0) {
+                               error = LTTNG_ERR_UST_DISABLE_FAIL;
                                continue;
                        }
                }
                                continue;
                        }
                }
@@ -391,13 +392,14 @@ int event_ust_disable_all_tracepoints(struct ltt_ust_session *usess,
        for (i = 0; i < size; i++) {
                ret = event_ust_disable_tracepoint(usess, uchan,
                                events[i].name);
        for (i = 0; i < size; i++) {
                ret = event_ust_disable_tracepoint(usess, uchan,
                                events[i].name);
-               if (ret != LTTNG_OK) {
+               if (ret < 0) {
                        /* Continue to disable the rest... */
                        /* Continue to disable the rest... */
+                       error = LTTNG_ERR_UST_DISABLE_FAIL;
                        continue;
                }
        }
 
                        continue;
                }
        }
 
-       ret = LTTNG_OK;
+       ret = error ? error : LTTNG_OK;
 error:
        rcu_read_unlock();
        free(events);
 error:
        rcu_read_unlock();
        free(events);
This page took 0.027266 seconds and 5 git commands to generate.