[DTrace-devel] [PATCH] pid: USDT probes cannot have "-" as function name
Kris Van Hees
kris.van.hees at oracle.com
Mon Feb 9 19:37:08 UTC 2026
On Mon, Feb 09, 2026 at 02:22:11PM -0500, Eugene Loh wrote:
> Could we have a little more explanation here? Like, what is wrong with the
> current behavior (which is... to complain that the probe is not found?)?
> And should any test check the behavior?
It is an optimization. That is why I added it right above the test to see
if there is a pid in the provider name. That was also an optimization. In
both cases we bail if we can determine immediately that the presented probedesc
cannot be a USDT probe.
> On 2/9/26 13:35, Kris Van Hees via DTrace-devel wrote:
> > Signed-off-by: Kris Van Hees <kris.van.hees at oracle.com>
> > ---
> > libdtrace/dt_pid.c | 4 ++++
> > 1 file changed, 4 insertions(+)
> >
> > diff --git a/libdtrace/dt_pid.c b/libdtrace/dt_pid.c
> > index 517b9265..ef97c8d9 100644
> > --- a/libdtrace/dt_pid.c
> > +++ b/libdtrace/dt_pid.c
> > @@ -1568,6 +1568,10 @@ dt_pid_create_usdt_probes(dtrace_probedesc_t *pdp, dtrace_hdl_t *dtp)
> > char *globpat = NULL;
> > int err = 0, i, nmatches = 0;
> > + /* If the function name is "-", we're done. */
> > + if (pdp->fun[0] == '-' && pdp->fun[1] == '\0')
> > + return 0;
> > +
> > /* If it cannot end with a pid, we're done. */
> > if (pdp->prv[0] != '\0') {
> > char lastchar = pdp->prv[strlen(pdp->prv) - 1];
More information about the DTrace-devel
mailing list