use liburcu-bp
[ust.git] / libust / tracectl.c
index 17d28dca61394f744077fea45f5fea1bf5d17e43..b20fe696139ea413cbf419daea0190fb27ef675b 100644 (file)
@@ -27,7 +27,7 @@
 #include <poll.h>
 #include <regex.h>
 
-#include <urcu.h>
+#include <urcu-bp.h>
 
 #include "marker.h"
 #include "tracer.h"
@@ -772,7 +772,7 @@ void *listener_main(void *p)
        }
 }
 
-int have_listener = 0;
+volatile sig_atomic_t have_listener = 0;
 
 void create_listener(void)
 {
@@ -1006,13 +1006,15 @@ static void __attribute__((constructor(1000))) init()
                        return;
                }
 
-               inform_consumer_daemon(trace_name);
-
                result = ltt_trace_start(trace_name);
                if(result < 0) {
                        ERR("ltt_trace_start failed");
                        return;
                }
+
+               /* Do this after the trace is started in order to avoid creating confusion
+                * if the trace fails to start. */
+               inform_consumer_daemon(trace_name);
        }
 
 
This page took 0.023006 seconds and 4 git commands to generate.