Fix: rotation: hang on destroy when using scheduled rotation based on timer
[deliverable/lttng-tools.git] / src / bin / lttng-sessiond / cmd.c
index 78f1f053d7cd6b47f07d84b03700a04ccab7f13e..6f3dd7177b2a2b5cf84661a9836f1be4807d9009 100644 (file)
@@ -431,14 +431,14 @@ static enum lttng_error_code list_lttng_ust_global_events(char *channel_name,
                tmp = lttng_event_create();
                if (!tmp) {
                        ret_code = LTTNG_ERR_NOMEM;
-                       goto end;
+                       goto error;
                }
 
                if (lttng_strncpy(tmp->name, uevent->attr.name,
                                LTTNG_SYMBOL_NAME_LEN)) {
                        ret_code = LTTNG_ERR_FATAL;
                        lttng_event_destroy(tmp);
-                       goto end;
+                       goto error;
                }
 
                tmp->name[LTTNG_SYMBOL_NAME_LEN - 1] = '\0';
@@ -2866,7 +2866,7 @@ int cmd_start_trace(struct ltt_session *session)
         */
        session->rotated_after_last_stop = false;
 
-       if (session->rotate_timer_period) {
+       if (session->rotate_timer_period && !session->rotation_schedule_timer_enabled) {
                int int_ret = timer_session_rotation_schedule_timer_start(
                                session, session->rotate_timer_period);
 
@@ -3805,6 +3805,7 @@ enum lttng_error_code cmd_list_channels(enum lttng_domain_type domain,
                        extended->lost_packets = lost_packets;
 
                        ret = lttng_channel_serialize(channel, buffer);
+                       lttng_channel_destroy(channel);
                        if (ret) {
                                ret = -1;
                                break;
This page took 0.029128 seconds and 5 git commands to generate.