- ret = bt_context_remove_trace(bt_ctx, trace->trace_id);
- if (ret < 0)
- fprintf(stderr, "[error] removing trace from context\n");
+ /*
+ * We don't have ownership of the live viewer stream, just
+ * remove them from our list.
+ */
+ bt_list_for_each_entry_safe(lvstream, tmp, &trace->stream_list,
+ trace_stream_node) {
+ lvstream->in_trace = 0;
+ bt_list_del(&lvstream->trace_stream_node);
+ }
+ if (trace->in_use) {
+ ret = bt_context_remove_trace(bt_ctx, trace->trace_id);
+ if (ret < 0)
+ fprintf(stderr, "[error] removing trace from context\n");
+ }