New API: lttng_ust_init_thread() for async-signal tracing
authorMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 30 Mar 2021 13:54:23 +0000 (09:54 -0400)
committerMathieu Desnoyers <mathieu.desnoyers@efficios.com>
Tue, 30 Mar 2021 18:37:05 +0000 (14:37 -0400)
commit14e0a13576200091ccaba54c89692ee21672a700
tree4fc3d139b3d3685116d714d9a00c107b2b0ae972
parentb89c5899ef86060111a6814c13df2684dc352737
New API: lttng_ust_init_thread() for async-signal tracing

LTTng-UST uses Global Dynamic model TLS variables rather than IE
model because many versions of glibc don't preallocate a pool large
enough for TLS variables IE model defined in other shared libraries,
and causes issues when using LTTng-UST for Java tracing.

Because of this use of Global Dynamic TLS variables, users wishing to
trace from signal handlers need to explicitly trigger the lazy
allocation of those variables for each thread before using them.
This can be triggered by calling lttng_ust_init_thread().

Hide the public symbols for ring buffer and counter clients init/exit.
Expose new symbols for init/exit of all ring buffer and counter clients
instead. Those new symbols are only used by liblttng-ust-ctl, and are
thus in an internal header.

Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers@efficios.com>
Change-Id: I389be1db96e5ff1e9a116311b8adf8676c9752cb
include/Makefile.am
include/lttng/ust-thread.h [new file with mode: 0644]
liblttng-ust-ctl/ustctl.c
liblttng-ust/lttng-rb-clients.h
liblttng-ust/lttng-ring-buffer-client-discard-rt.c
liblttng-ust/lttng-ring-buffer-client-discard.c
liblttng-ust/lttng-ring-buffer-client-overwrite-rt.c
liblttng-ust/lttng-ring-buffer-client-overwrite.c
liblttng-ust/lttng-ring-buffer-client.h
liblttng-ust/lttng-ust-comm.c
liblttng-ust/ust-events-internal.h
This page took 0.025884 seconds and 4 git commands to generate.