[RFC] reworking FreeBSD's SDT implementation
Mikolaj Golub
trociny at FreeBSD.org
Sun Jul 14 07:56:40 UTC 2013
On Sat, Jul 13, 2013 at 07:42:00PM -0400, Mark Johnston wrote:
> Thanks for pointing this out - I've fixed these problems in the
> following diff:
>
> http://people.freebsd.org/~markj/patches/sdt-module-info/20130713-sdt-module-info.diff
>
> It turns out that we typedef modctl_t to struct linker_file, so I don't
> need to have separate cases for defined(sun) and !defined(sun) in a few
> places.
Then in dtrace.h:
-extern void (*dtrace_modload)(modctl_t *);
-extern void (*dtrace_modunload)(modctl_t *);
+extern void (*dtrace_modload)(struct linker_file *);
+extern int (*dtrace_modunload)(struct linker_file *);
you might also want to return modctl_t back? I suppose
dtrace_modunload also requires '#if defined(sun)' here.
Also, is there some reason you choose to return 1 on modunload
failure? Usually we return -1 on error, it would be nice to follow the
convention.
In sdt_disable(), before decreasing nenabled, it might be useful to
add an assertion that nenabled is not going to reach negative value.
--
Mikolaj Golub
More information about the freebsd-dtrace
mailing list