static LIST_HEAD(lazy_probe_init);
/*
- * lazy_nesting counter ensures we don't trigger lazy probe registration
+ * lazy_nesting counter ensures we don't event_notifier lazy probe registration
* fixup while we are performing the fixup. It is protected by the
* sessions lock.
*/
}
ret = lttng_fix_pending_events();
WARN_ON_ONCE(ret);
+ ret = lttng_fix_pending_event_notifiers();
+ WARN_ON_ONCE(ret);
lazy_nesting--;
}
* the probe immediately, since we cannot delay event
* registration because they are needed ASAP.
*/
- if (lttng_session_active())
+ if (lttng_session_active() || lttng_event_notifier_active())
fixup_lazy_probes();
end:
lttng_unlock_sessions();
* Called with sessions lock held.
*/
static
-const struct lttng_event_desc *find_event(const char *name)
+const struct lttng_event_desc *find_event_desc(const char *name)
{
struct lttng_probe_desc *probe_desc;
int i;
/*
* Called with sessions lock held.
*/
-const struct lttng_event_desc *lttng_event_get(const char *name)
+const struct lttng_event_desc *lttng_event_desc_get(const char *name)
{
- const struct lttng_event_desc *event;
+ const struct lttng_event_desc *event_desc;
int ret;
- event = find_event(name);
- if (!event)
+ event_desc = find_event_desc(name);
+ if (!event_desc)
return NULL;
- ret = try_module_get(event->owner);
+ ret = try_module_get(event_desc->owner);
WARN_ON_ONCE(!ret);
- return event;
+ return event_desc;
}
-EXPORT_SYMBOL_GPL(lttng_event_get);
+EXPORT_SYMBOL_GPL(lttng_event_desc_get);
/*
* Called with sessions lock held.
*/
-void lttng_event_put(const struct lttng_event_desc *event)
+void lttng_event_desc_put(const struct lttng_event_desc *event_desc)
{
- module_put(event->owner);
+ module_put(event_desc->owner);
}
-EXPORT_SYMBOL_GPL(lttng_event_put);
+EXPORT_SYMBOL_GPL(lttng_event_desc_put);
static
void *tp_list_start(struct seq_file *m, loff_t *pos)