X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Ftrace-ust.cpp;h=de368a3baa054a25616f342017b0d1fdc3ecf1f4;hb=0220be14254fac4f7af642fd6630282b29776a70;hp=ec62eef09810eca42ba55632f2898982560eaa99;hpb=ff9fe3137fc1aec6e18ebbf7c218907698206e7d;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/trace-ust.cpp b/src/bin/lttng-sessiond/trace-ust.cpp index ec62eef09..de368a3ba 100644 --- a/src/bin/lttng-sessiond/trace-ust.cpp +++ b/src/bin/lttng-sessiond/trace-ust.cpp @@ -13,16 +13,16 @@ #include #include -#include -#include -#include -#include +#include +#include +#include +#include -#include "buffer-registry.h" -#include "trace-ust.h" -#include "utils.h" -#include "ust-app.h" -#include "agent.h" +#include "buffer-registry.hpp" +#include "trace-ust.hpp" +#include "utils.hpp" +#include "ust-app.hpp" +#include "agent.hpp" /* * Match function for the events hash table lookup. @@ -167,6 +167,7 @@ struct ltt_ust_channel *trace_ust_find_channel_by_name(struct lttng_ht *ht, struct lttng_ht_node_str *node; struct lttng_ht_iter iter; + ASSERT_RCU_READ_LOCKED(); /* * If we receive an empty string for channel name, it means the * default channel name is requested. @@ -204,6 +205,7 @@ struct ltt_ust_event *trace_ust_find_event(struct lttng_ht *ht, LTTNG_ASSERT(name); LTTNG_ASSERT(ht); + ASSERT_RCU_READ_LOCKED(); key.name = name; key.filter = filter; @@ -269,7 +271,7 @@ struct ltt_ust_session *trace_ust_create_session(uint64_t session_id) struct ltt_ust_session *lus; /* Allocate a new ltt ust session */ - lus = (ltt_ust_session *) zmalloc(sizeof(struct ltt_ust_session)); + lus = zmalloc(); if (lus == NULL) { PERROR("create ust session zmalloc"); goto error_alloc; @@ -329,8 +331,8 @@ error: process_attr_tracker_destroy(lus->tracker_vpid); process_attr_tracker_destroy(lus->tracker_vuid); process_attr_tracker_destroy(lus->tracker_vgid); - ht_cleanup_push(lus->domain_global.channels); - ht_cleanup_push(lus->agents); + lttng_ht_destroy(lus->domain_global.channels); + lttng_ht_destroy(lus->agents); free(lus); error_alloc: return NULL; @@ -348,7 +350,7 @@ struct ltt_ust_channel *trace_ust_create_channel(struct lttng_channel *chan, LTTNG_ASSERT(chan); - luc = (ltt_ust_channel *) zmalloc(sizeof(struct ltt_ust_channel)); + luc = zmalloc(); if (luc == NULL) { PERROR("ltt_ust_channel zmalloc"); goto error; @@ -461,7 +463,7 @@ enum lttng_error_code trace_ust_create_event(struct lttng_event *ev, goto error; } - local_ust_event = (ltt_ust_event *) zmalloc(sizeof(struct ltt_ust_event)); + local_ust_event = zmalloc(); if (local_ust_event == NULL) { PERROR("ust event zmalloc"); ret = LTTNG_ERR_NOMEM; @@ -685,7 +687,7 @@ struct ltt_ust_context *trace_ust_create_context( goto end; } - uctx = (ltt_ust_context *) zmalloc(sizeof(struct ltt_ust_context)); + uctx = zmalloc(); if (!uctx) { PERROR("zmalloc ltt_ust_context"); goto end; @@ -774,7 +776,7 @@ static void fini_id_tracker(struct ust_id_tracker *id_tracker) destroy_id_tracker_node(tracker_node); } rcu_read_unlock(); - ht_cleanup_push(id_tracker->ht); + lttng_ht_destroy(id_tracker->ht); id_tracker->ht = NULL; } @@ -811,7 +813,7 @@ static int id_tracker_add_id(struct ust_id_tracker *id_tracker, int id) retval = LTTNG_ERR_PROCESS_ATTR_EXISTS; goto end; } - tracker_node = (ust_id_tracker_node *) zmalloc(sizeof(*tracker_node)); + tracker_node = zmalloc(); if (!tracker_node) { retval = LTTNG_ERR_NOMEM; goto end; @@ -1231,7 +1233,7 @@ static void destroy_contexts(struct lttng_ht *ht) } rcu_read_unlock(); - ht_cleanup_push(ht); + lttng_ht_destroy(ht); } /* @@ -1294,7 +1296,7 @@ static void destroy_events(struct lttng_ht *events) } rcu_read_unlock(); - ht_cleanup_push(events); + lttng_ht_destroy(events); } /* @@ -1371,7 +1373,7 @@ static void destroy_channels(struct lttng_ht *channels) } rcu_read_unlock(); - ht_cleanup_push(channels); + lttng_ht_destroy(channels); } /* @@ -1410,7 +1412,7 @@ void trace_ust_destroy_session(struct ltt_ust_session *session) } rcu_read_unlock(); - ht_cleanup_push(session->agents); + lttng_ht_destroy(session->agents); /* Cleanup UID buffer registry object(s). */ cds_list_for_each_entry_safe(reg, sreg, &session->buffer_reg_uid_list,