[DTrace-devel] [PATCH 17/38] Add a provider-specific probe_add_clause handle
eugene.loh at oracle.com
eugene.loh at oracle.com
Thu Jun 27 05:34:34 UTC 2024
From: Eugene Loh <eugene.loh at oracle.com>
Signed-off-by: Eugene Loh <eugene.loh at oracle.com>
---
libdtrace/dt_probe.c | 2 ++
libdtrace/dt_provider.h | 3 +++
2 files changed, 5 insertions(+)
diff --git a/libdtrace/dt_probe.c b/libdtrace/dt_probe.c
index d0ae63d1..48b02e11 100644
--- a/libdtrace/dt_probe.c
+++ b/libdtrace/dt_probe.c
@@ -1354,6 +1354,8 @@ dt_probe_add_clause(dtrace_hdl_t *dtp, dt_probe_t *prp, dt_ident_t *idp)
pcp->clause = idp;
dt_list_append(&prp->clauses, pcp);
+ if (prp->prov->impl->probe_add_clause)
+ return prp->prov->impl->probe_add_clause(dtp, prp, idp);
return 0;
}
diff --git a/libdtrace/dt_provider.h b/libdtrace/dt_provider.h
index 17b1844c..b1b1b1b8 100644
--- a/libdtrace/dt_provider.h
+++ b/libdtrace/dt_provider.h
@@ -62,6 +62,9 @@ typedef struct dt_provimpl {
int (*probe_info)(dtrace_hdl_t *dtp, /* get probe info */
const struct dt_probe *prp,
int *argcp, dt_argdesc_t **argvp);
+ int (*probe_add_clause)(dtrace_hdl_t *dtp, /* add clause to probe */
+ struct dt_probe *prp,
+ dt_ident_t *idp);
void (*detach)(dtrace_hdl_t *dtp, /* probe cleanup */
const struct dt_probe *prb);
void (*probe_destroy)(dtrace_hdl_t *dtp, /* free probe data */
--
2.18.4
More information about the DTrace-devel
mailing list