X-Git-Url: https://git.lttng.org/?a=blobdiff_plain;f=src%2Fbin%2Flttng-sessiond%2Fagent.c;h=5d1bbccae3b5793762fda7bc3732c3d77558e0e0;hb=e785906cb00ba02483a94d5042f6e29812014ddc;hp=d7bc1b55c698a8d4e490bb8c06df4128da1b9bb2;hpb=f8be902b22054782d4cc7b67781617030c49225e;p=lttng-tools.git diff --git a/src/bin/lttng-sessiond/agent.c b/src/bin/lttng-sessiond/agent.c index d7bc1b55c..5d1bbccae 100644 --- a/src/bin/lttng-sessiond/agent.c +++ b/src/bin/lttng-sessiond/agent.c @@ -16,6 +16,7 @@ */ #define _GNU_SOURCE +#define _LGPL_SOURCE #include #include @@ -679,6 +680,8 @@ void agent_add_app(struct agent_app *app) /* * Delete agent application from the global hash table. + * + * rcu_read_lock() must be held by the caller. */ void agent_delete_app(struct agent_app *app) { @@ -690,14 +693,12 @@ void agent_delete_app(struct agent_app *app) DBG3("Agent deleting app pid: %d and sock: %d", app->pid, app->sock->fd); iter.iter.node = &app->node.node; - rcu_read_lock(); ret = lttng_ht_del(agent_apps_ht_by_sock, &iter); - rcu_read_unlock(); assert(!ret); } /* - * Destroy a agent application object by detaching it from its corresponding + * Destroy an agent application object by detaching it from its corresponding * UST app if one is connected by closing the socket. Finally, perform a * delayed memory reclaim. */ @@ -899,7 +900,7 @@ struct agent_event *agent_find_event(const char *name, int loglevel, return caa_container_of(node, struct agent_event, node); error: - DBG3("Agent NOT found %s.", name); + DBG3("Agent event NOT found %s.", name); return NULL; } @@ -912,6 +913,7 @@ void agent_destroy_event(struct agent_event *event) { assert(event); + free(event->filter); free(event); }