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++;
* headers. Therefore the "chan" information used as input
* should be already accessible.
*/
- chan = transport->ops.channel_create("[lttng]", buf_addr,
+ chan = transport->ops.channel_create(transport_name, buf_addr,
subbuf_size, num_subbuf, switch_timer_interval,
read_timer_interval, shm_fd, wait_fd,
memory_map_size, chan_priv_init);
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++;
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[LTTNG_UST_UUID_STR_LEN];
+
+ (void) lttng_ust_uuid_generate(uuid);
+}