diff options
author | Christos Margiolis <christos@FreeBSD.org> | 2022-10-11 15:33:52 +0000 |
---|---|---|
committer | Mark Johnston <markj@FreeBSD.org> | 2022-10-11 22:19:08 +0000 |
commit | 2179a159ea93e37b7fb2126ae0b1627b875f808b (patch) | |
tree | 44fc2d3b810f7b15c6e69add5b135d9e3b849ea4 /cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c | |
parent | f0bc4ed144fc59b6f72d90c46b91ca803d3b29ce (diff) | |
download | src-2179a159ea93e37b7fb2126ae0b1627b875f808b.tar.gz src-2179a159ea93e37b7fb2126ae0b1627b875f808b.zip |
libdtrace: Add kinst support
kinst does not instantiate its probes automatically, it only does so on
demand via an ioctl interface implemented by /dev/kinst. This change
modifies libdtrace to perform that work when the script references the
kinst provider, similar to the way pid provider probes are implemented.
Reviewed by: markj
MFC after: 3 months
Sponsored by: Google, Inc. (GSoC 2022)
Differential Revision: https://reviews.freebsd.org/D36852
Diffstat (limited to 'cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c')
-rw-r--r-- | cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c index 9621a0fcb391..867259b5d77c 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_open.c @@ -1173,6 +1173,7 @@ alloc: dtp->dt_version = version; dtp->dt_fd = dtfd; dtp->dt_ftfd = ftfd; + dtp->dt_kinstfd = -1; dtp->dt_fterr = fterr; dtp->dt_cdefs_fd = -1; dtp->dt_ddefs_fd = -1; @@ -1681,6 +1682,8 @@ dtrace_close(dtrace_hdl_t *dtp) (void) close(dtp->dt_fd); if (dtp->dt_ftfd != -1) (void) close(dtp->dt_ftfd); + if (dtp->dt_kinstfd != -1) + (void) close(dtp->dt_kinstfd); if (dtp->dt_cdefs_fd != -1) (void) close(dtp->dt_cdefs_fd); if (dtp->dt_ddefs_fd != -1) |