#include <common/common.h>
#include <common/sessiond-comm/jul.h>
+#include <common/compat/endian.h>
+
#include "jul.h"
#include "ust-app.h"
#include "utils.h"
*
* Return a new object else NULL on error.
*/
-struct jul_event *jul_create_event(const char *name)
+struct jul_event *jul_create_event(const char *name,
+ struct lttng_filter_bytecode *filter)
{
struct jul_event *event;
lttng_ht_node_init_str(&event->node, event->name);
}
+ if (filter) {
+ event->filter = filter;
+ }
+
error:
return event;
}
rcu_read_lock();
cds_lfht_for_each_entry(dom->events->ht, &iter.iter, node, node) {
int ret;
+ struct jul_event *event;
+
+ /*
+ * When destroying an event, we have to try to disable it on the agent
+ * side so the event stops generating data. The return value is not
+ * important since we have to continue anyway destroying the object.
+ */
+ event = caa_container_of(node, struct jul_event, node);
+ (void) jul_disable_event(event);
ret = lttng_ht_del(dom->events, &iter);
assert(!ret);