X-Git-Url: http://git.lttng.org/?a=blobdiff_plain;f=src%2Flttng-probes.c;h=00f39112f04d84485bc9d482aad9c632c92dab6b;hb=b01155bac7199bfef02b9bc06e85421c28859626;hp=4a2bb630e8503412c3524ddc468aef749c7f2280;hpb=cfa6cc1d0f01c2cfcc1a679abf3a6572d411c309;p=lttng-modules.git diff --git a/src/lttng-probes.c b/src/lttng-probes.c index 4a2bb630..00f39112 100644 --- a/src/lttng-probes.c +++ b/src/lttng-probes.c @@ -25,7 +25,7 @@ static LIST_HEAD(_probe_list); 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. */ @@ -124,6 +124,8 @@ void fixup_lazy_probes(void) } ret = lttng_fix_pending_events(); WARN_ON_ONCE(ret); + ret = lttng_fix_pending_event_notifiers(); + WARN_ON_ONCE(ret); lazy_nesting--; } @@ -173,7 +175,7 @@ int lttng_probe_register(struct lttng_probe_desc *desc) * 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(); @@ -198,7 +200,7 @@ EXPORT_SYMBOL_GPL(lttng_probe_unregister); * 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; @@ -215,28 +217,28 @@ const struct lttng_event_desc *find_event(const char *name) /* * 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)