X-Git-Url: https://git.liburcu.org/?a=blobdiff_plain;f=libtracectl%2Ftracectl.c;h=ab62adfd720aa416125b1f4ce2580f18e37ef1cc;hb=20b37a3100b0d8722b361f62fd592520264fb9fa;hp=2c64c10e420366879d74cdf2330620cc39b1d285;hpb=f3f6ac655895f40e8c95c1b6dd5156064ea67242;p=ust.git diff --git a/libtracectl/tracectl.c b/libtracectl/tracectl.c index 2c64c10..ab62adf 100644 --- a/libtracectl/tracectl.c +++ b/libtracectl/tracectl.c @@ -291,10 +291,31 @@ static int init_signal_handler(void) return 0; } -static void __attribute__((constructor)) init() +static void auto_probe_connect(struct marker *m) { int result; + result = ltt_marker_connect(m->channel, m->name, "default"); + if(result) + ERR("ltt_marker_connect"); + + DBG("just auto connected marker %s %s to probe default", m->channel, m->name); +} + +static void __attribute__((constructor(101))) init0() +{ + DBG("UST_AUTOPROBE constructor"); + if(getenv("UST_AUTOPROBE")) { + marker_set_new_marker_cb(auto_probe_connect); + } +} + +static void __attribute__((constructor(1000))) init() +{ + int result; + + DBG("UST_TRACE constructor"); + mypid = getpid(); if(getenv("UST_TRACE")) { @@ -312,13 +333,8 @@ static void __attribute__((constructor)) init() /* Ensure markers are initialized */ init_markers(); - result = ltt_marker_connect("foo", "bar", "default"); - if(result) - ERR("ltt_marker_connect"); - - result = ltt_marker_connect("foo", "bar2", "default"); - if(result) - ERR("ltt_marker_connect"); + /* In case. */ + ltt_channels_register("ust"); result = ltt_trace_setup(trace_name); if(result < 0) {