ust: cleanups and functionality
[ust.git] / hello / marker-control.c
index 9d231d1143438b83358fdd2d5ea86f6c104c4fb3..ab5413dcbc4c2c757f8aa01d1a56dc4b1c00d42c 100644 (file)
@@ -409,24 +409,30 @@ static void disconnect_all_markers(void)
        }
 }
 
-int __attribute__((constructor)) marker_control_init(void)
+static char initialized = 0;
+
+void __attribute__((constructor)) init_marker_control(void)
 {
-       int ret;
+       if(!initialized) {
+               int ret;
 
 //ust//        pentry = create_proc_entry("ltt", S_IRUSR|S_IWUSR, NULL);
 //ust//        if (!pentry)
 //ust//                return -EBUSY;
 //ust//        markers_loaded_cachep = KMEM_CACHE(ltt_active_marker, 0);
 
-       ret = ltt_probe_register(&default_probe);
-       BUG_ON(ret);
-       ret = ltt_marker_connect("metadata", "core_marker_format",
-                                DEFAULT_PROBE);
-       BUG_ON(ret);
-       ret = ltt_marker_connect("metadata", "core_marker_id", DEFAULT_PROBE);
-       BUG_ON(ret);
+               ret = ltt_probe_register(&default_probe);
+               BUG_ON(ret);
+               ret = ltt_marker_connect("metadata", "core_marker_format",
+                                        DEFAULT_PROBE);
+               BUG_ON(ret);
+               ret = ltt_marker_connect("metadata", "core_marker_id", DEFAULT_PROBE);
+               BUG_ON(ret);
 //ust//        pentry->proc_fops = &ltt_fops;
 
+               initialized = 1;
+       }
+
        return 0;
 }
 //ust// module_init(marker_control_init);
This page took 0.023705 seconds and 4 git commands to generate.