#include <common/hashtable/utils.hpp>
#include <common/make-unique-wrapper.hpp>
#include <lttng/lttng.h>
+#include <lttng/trace-format-descriptor-internal.hpp>
#include <inttypes.h>
*/
static void ust_registry_event_destroy_rcu(struct rcu_head *head)
{
- struct lttng_ht_node_u64 *node = lttng::utils::container_of(head, <tng_ht_node_u64::head);
DIAGNOSTIC_PUSH
DIAGNOSTIC_IGNORE_INVALID_OFFSETOF
lttng::sessiond::ust::registry_event *event =
- lttng::utils::container_of(node, <tng::sessiond::ust::registry_event::_node);
+ lttng::utils::container_of(head, <tng::sessiond::ust::registry_event::_head);
DIAGNOSTIC_POP
lttng::sessiond::ust::registry_event_destroy(event);
ASSERT_RCU_READ_LOCKED();
/* Delete the node first. */
- iter.iter.node = &event->_node.node;
+ iter.iter.node = &event->_node;
ret = lttng_ht_del(chan->_events, &iter);
LTTNG_ASSERT(!ret);
- call_rcu(&event->_node.head, ust_registry_event_destroy_rcu);
+ call_rcu(&event->_head, ust_registry_event_destroy_rcu);
return;
}
uid_t euid,
gid_t egid,
uint64_t tracing_id,
- uid_t tracing_uid)
+ uid_t tracing_uid,
+ const lttng::trace_format_descriptor& trace_format)
{
try {
return new lsu::registry_session_per_uid(abi, major, minor, root_shm_path, shm_path,
- euid, egid, tracing_id, tracing_uid);
+ euid, egid, tracing_id, tracing_uid, trace_format);
} catch (const std::exception& ex) {
ERR("Failed to create per-uid registry session: %s", ex.what());
return nullptr;
const char *shm_path,
uid_t euid,
gid_t egid,
- uint64_t tracing_id)
+ uint64_t tracing_id,
+ const lttng::trace_format_descriptor& trace_format)
{
try {
return new lsu::registry_session_per_pid(*app, abi, major, minor, root_shm_path,
- shm_path, euid, egid, tracing_id);
+ shm_path, euid, egid, tracing_id, trace_format);
} catch (const std::exception& ex) {
ERR("Failed to create per-pid registry session: %s", ex.what());
return nullptr;