* lock MUST be acquired before calling this.
*/
struct ltt_ust_channel *trace_ust_find_channel_by_name(struct lttng_ht *ht,
- char *name)
+ const char *name)
{
struct lttng_ht_node_str *node;
struct lttng_ht_iter iter;
/*
* Return 1 if contexts match, 0 otherwise.
*/
-int trace_ust_match_context(struct ltt_ust_context *uctx,
- struct lttng_event_context *ctx)
+int trace_ust_match_context(const struct ltt_ust_context *uctx,
+ const struct lttng_event_context *ctx)
{
int utype;
* Return pointer to structure or NULL.
*/
struct ltt_ust_context *trace_ust_create_context(
- struct lttng_event_context *ctx)
+ const struct lttng_event_context *ctx)
{
struct ltt_ust_context *uctx = NULL;
int utype;
}
/*
- * Cleanup ust session structure
+ * Cleanup ust session structure, keeping data required by
+ * destroy notifier.
*
* Should *NOT* be called with RCU read-side lock held.
*/
buffer_reg_uid_destroy(reg, session->consumer);
}
- consumer_output_put(session->consumer);
-
fini_pid_tracker(&session->pid_tracker);
lttng_trace_chunk_put(session->current_trace_chunk);
+}
+
+/* Free elements needed by destroy notifiers. */
+void trace_ust_free_session(struct ltt_ust_session *session)
+{
+ consumer_output_put(session->consumer);
free(session);
}