Fix: All perror turned into PERROR to show file and line number
[lttng-tools.git] / src / bin / lttng-sessiond / ust-app.c
index bb012b5d84fc0e8b92ace19dde174c2dcb633fef..030358241f663548265493bd2459c00977be0013 100644 (file)
@@ -1935,6 +1935,9 @@ int ust_app_start_trace(struct ltt_ust_session *usess, struct ust_app *app)
                goto skip_setup;
        }
 
+       /* Indicate that the session has been started once */
+       ua_sess->started = 1;
+
        ret = create_ust_app_metadata(ua_sess, usess->pathname, app);
        if (ret < 0) {
                goto error_rcu_unlock;
@@ -1991,7 +1994,6 @@ int ust_app_start_trace(struct ltt_ust_session *usess, struct ust_app *app)
        if (ret < 0) {
                goto error_rcu_unlock;
        }
-       ua_sess->started = 1;
 
 skip_setup:
        /* This start the UST tracing */
@@ -2037,10 +2039,12 @@ int ust_app_stop_trace(struct ltt_ust_session *usess, struct ust_app *app)
                goto error_rcu_unlock;
        }
 
-       /* Not started, continuing. */
-       if (ua_sess->started == 0) {
-               goto end;
-       }
+       /*
+        * If started = 0, it means that stop trace has been called for a session
+        * that was never started. This is a code flow error and should never
+        * happen.
+        */
+       assert(ua_sess->started == 1);
 
        /* This inhibits UST tracing */
        ret = ustctl_stop_session(app->key.sock, ua_sess->handle);
@@ -2071,8 +2075,6 @@ int ust_app_stop_trace(struct ltt_ust_session *usess, struct ust_app *app)
                                ret);
        }
 
-       ua_sess->started = 0;
-
 end:
        rcu_read_unlock();
        return 0;
This page took 0.024882 seconds and 5 git commands to generate.