*/
#define _GNU_SOURCE
+#define _LGPL_SOURCE
#include <assert.h>
#include <urcu/uatomic.h>
*
* Return the number of events or else a negative value.
*/
-int agent_list_events(struct lttng_event **events)
+int agent_list_events(struct lttng_event **events,
+ enum lttng_domain_type domain)
{
int ret;
size_t nbmem, count = 0;
assert(events);
+ DBG2("Agent listing events for domain %d", domain);
+
nbmem = UST_APP_EVENT_LIST_SIZE;
tmp_events = zmalloc(nbmem * sizeof(*tmp_events));
if (!tmp_events) {
ssize_t nb_ev;
struct lttng_event *agent_events;
+ /* Skip domain not asked by the list. */
+ if (app->domain != domain) {
+ continue;
+ }
+
nb_ev = list_events(app, &agent_events);
if (nb_ev < 0) {
ret = nb_ev;
ret = agent_init(agt);
if (ret < 0) {
free(agt);
+ agt = NULL;
goto error;
}
{
assert(event);
+ free(event->filter);
free(event);
}
}
rcu_read_unlock();
- lttng_ht_destroy(agt->events);
+ ht_cleanup_push(agt->events);
}
/*