Fix the issue where the callsites are registered but never
properly unregistered.

---
 liblttng-ust/tracepoint.c | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/liblttng-ust/tracepoint.c b/liblttng-ust/tracepoint.c
index 7bb38fa..4870d45 100644
--- a/liblttng-ust/tracepoint.c
+++ b/liblttng-ust/tracepoint.c
@@ -314,7 +314,7 @@ static void remove_tracepoint(struct tracepoint_entry *e)
  * Add the callsite to the callsite hash table. Must be called with
  * tracepoint mutex held.
  */
-static void add_callsite(struct tracepoint *tp)
+static void add_callsite(struct tracepoint_lib * lib, struct tracepoint *tp)
 {
        struct cds_hlist_head *head;
        struct callsite_entry *e;
@@ -332,6 +332,7 @@ static void add_callsite(struct tracepoint *tp)
        assert(e);
        cds_hlist_add_head(&e->hlist, head);
        e->tp = tp;
+       cds_list_add(&e->node, &(lib->callsites));
 }
 
 /*
@@ -480,7 +481,7 @@ static void lib_register_callsites(struct tracepoint_lib 
*lib)
                if (!(*iter)->name) {
                        continue;
                }
-               add_callsite(*iter);
+               add_callsite(lib, *iter);
        }
 }
 
-- 
1.8.1.2



_______________________________________________
lttng-dev mailing list
[email protected]
http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev

Reply via email to