remove_pending_probe(e);
ret |= __tracepoint_probe_register(name,
event->desc->probe_callback,
- event);
+ event, event->desc->signature);
if (ret)
continue;
event->id = chan->free_event_id++;
struct ltt_event *event;
int ret = 0;
- if (chan->used_event_id == -1UL) {
+ if (chan->used_event_id == -1U) {
ret = -ENOMEM;
goto full;
}
if (event->desc) {
ret = __tracepoint_probe_register(event_param->name,
event->desc->probe_callback,
- event);
+ event, event->desc->signature);
if (ret)
goto register_error;
event->id = chan->free_event_id++;
lttng_alignof(uint16_t) * CHAR_BIT,
lttng_alignof(uint32_t) * CHAR_BIT,
lttng_alignof(uint64_t) * CHAR_BIT,
- CTF_VERSION_MAJOR,
- CTF_VERSION_MINOR,
+ CTF_SPEC_MAJOR,
+ CTF_SPEC_MINOR,
uuid_s,
#if (BYTE_ORDER == BIG_ENDIAN)
"be"
"env {\n"
" vpid = %d;\n"
" procname = \"%s\";\n"
- " domain = %s;\n"
+ " domain = \"ust\";\n"
+ " tracer_name = \"lttng-ust\";\n"
+ " tracer_major = %u;\n"
+ " tracer_minor = %u;\n"
+ " tracer_patchlevel = %u;\n"
"};\n\n",
(int) getpid(),
procname,
- "ust"
+ LTTNG_UST_MAJOR_VERSION,
+ LTTNG_UST_MINOR_VERSION,
+ LTTNG_UST_PATCHLEVEL_VERSION
);
if (ret)
goto end;
wildcard->enabled = 0;
return 0;
}
+
+/*
+ * Take the TLS "fault" in libuuid if dlopen'd, which can take the
+ * dynamic linker mutex, outside of the UST lock, since the UST lock is
+ * taken in constructors, which are called with dynamic linker mutex
+ * held.
+ */
+void lttng_fixup_event_tls(void)
+{
+ unsigned char uuid[37];
+
+ (void) uuid_generate(uuid);
+}