Manpage update: document use in daemons
[lttng-ust.git] / doc / man / lttng-ust.3
index 6bbfc96c3a29112f98176bf49653df10799083dc..88025c0e702727da568f9a99b7dbb70bd248cc2c 100644 (file)
@@ -251,13 +251,13 @@ carefully:
        directly or through a static library (.a):
     - Into exactly one object of your application: define
       "TRACEPOINT_DEFINE" and include the tracepoint provider.
-    - Use "-I." for the compilation unit containing the tracepoint
+    - Use "\-I." for the compilation unit containing the tracepoint
       provider include (e.g. tp.c).
-    - Link application with "-ldl".
+    - Link application with "\-ldl".
     - If building the provider directly into the application,
-      link the application with "-llttng-ust".
+      link the application with "\-llttng-ust".
     - If building a static library for the provider, link the static
-      library with "-lllttng-ust".
+      library with "\-lllttng-ust".
     - Include the tracepoint provider header into all C files using
       the provider.
     - Example:
@@ -271,9 +271,9 @@ carefully:
       provider header.
     - Include the tracepoint provider header into all instrumented C
       files that use the provider.
-    - Compile the tracepoint provider with "-I.".
-    - Link the tracepoint provider with "-llttng-ust".
-    - Link application with "-ldl".
+    - Compile the tracepoint provider with "\-I.".
+    - Link the tracepoint provider with "\-llttng-ust".
+    - Link application with "\-ldl".
     - Set a LD_PRELOAD environment to preload the tracepoint provider
       shared object before starting the application when tracing is
       needed.
@@ -284,9 +284,23 @@ carefully:
     way libc lazily resolves Thread-Local Storage (TLS) symbols when a
     library is dlopen'd, linking the tracepoint probe or liblttng-ust
     with dlopen() is discouraged. They should be linked with the
-    application using "-llibname" or loaded with LD_PRELOAD.
+    application using "\-llibname" or loaded with LD_PRELOAD.
   - Enable instrumentation and control tracing with the "lttng" command
     from lttng-tools. See lttng-tools doc/quickstart.txt.
+  - Note for C++ support: although an application instrumented with
+    tracepoints can be compiled with g++, tracepoint probes should be
+    compiled with gcc (only tested with gcc so far).
+
+.fi
+
+.SH "USING LTTNG UST WITH DAEMONS"
+
+.nf
+Some extra care is needed when using liblttng-ust with daemon
+applications that call fork(), clone(), or BSD rfork() without a
+following exec() family system call. The library "liblttng-ust-fork.so"
+needs to be preloaded for the application (launch with e.g.
+LD_PRELOAD=liblttng-ust-fork.so appname).
 
 .fi
 
@@ -302,7 +316,7 @@ specify how long the applications should wait for sessiond
 "registration done" command before proceeding to execute the main
 program. The default is 3000ms (3 seconds). The timeout value is
 specified in milliseconds. The value 0 means "don't wait". The value
--1 means "wait forever". Setting this environment variable to 0 is
+\-1 means "wait forever". Setting this environment variable to 0 is
 recommended for applications with time constraints on the process
 startup time.
 .PP
This page took 0.026175 seconds and 4 git commands to generate.