git: 1bb8b1d7e190 - main - libdtrace: Fix formatting of messages about drops
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Tue, 15 Apr 2025 18:27:11 UTC
The branch main has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=1bb8b1d7e190d75597d31ab87364a058e8ef8c5b commit 1bb8b1d7e190d75597d31ab87364a058e8ef8c5b Author: Mark Johnston <markj@FreeBSD.org> AuthorDate: 2025-04-15 14:03:47 +0000 Commit: Mark Johnston <markj@FreeBSD.org> CommitDate: 2025-04-15 18:26:59 +0000 libdtrace: Fix formatting of messages about drops dt_oformat_drop() should only be called when in structured output mode. Reviewed by: Domagoj Stolfa Fixes: 93f27766a7e1 ("dtrace: Add the 'oformat' libdtrace option") --- .../opensolaris/lib/libdtrace/common/dt_aggregate.c | 16 ++++++++++------ .../opensolaris/lib/libdtrace/common/dt_consume.c | 19 +++++++++++++------ 2 files changed, 23 insertions(+), 12 deletions(-) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c index 1c3131e74cb0..e5d10ad5ac0a 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_aggregate.c @@ -472,14 +472,18 @@ dt_aggregate_snap_cpu(dtrace_hdl_t *dtp, processorid_t cpu) } if (buf->dtbd_drops != 0) { - xo_open_instance("probes"); - dt_oformat_drop(dtp, cpu); - if (dt_handle_cpudrop(dtp, cpu, - DTRACEDROP_AGGREGATION, buf->dtbd_drops) == -1) { + int error; + + if (dtp->dt_oformat) { + xo_open_instance("probes"); + dt_oformat_drop(dtp, cpu); + } + error = dt_handle_cpudrop(dtp, cpu, DTRACEDROP_AGGREGATION, + buf->dtbd_drops); + if (dtp->dt_oformat) xo_close_instance("probes"); + if (error != 0) return (-1); - } - xo_close_instance("probes"); } if (buf->dtbd_size == 0) diff --git a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c index a760642c33bb..385c9d78bdfc 100644 --- a/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c +++ b/cddl/contrib/opensolaris/lib/libdtrace/common/dt_consume.c @@ -3678,10 +3678,13 @@ nextepid: */ buf->dtbd_drops = 0; - xo_open_instance("probes"); - dt_oformat_drop(dtp, cpu); + if (dtp->dt_oformat) { + xo_open_instance("probes"); + dt_oformat_drop(dtp, cpu); + } rval = dt_handle_cpudrop(dtp, cpu, DTRACEDROP_PRINCIPAL, drops); - xo_close_instance("probes"); + if (dtp->dt_oformat) + xo_close_instance("probes"); return (rval); } @@ -4187,11 +4190,15 @@ dtrace_consume(dtrace_hdl_t *dtp, FILE *fp, for (i = 0; i < max_ncpus; i++) { if (drops[i] != 0) { int error; - xo_open_instance("probes"); - dt_oformat_drop(dtp, i); + + if (dtp->dt_oformat) { + xo_open_instance("probes"); + dt_oformat_drop(dtp, i); + } error = dt_handle_cpudrop(dtp, i, DTRACEDROP_PRINCIPAL, drops[i]); - xo_close_instance("probes"); + if (dtp->dt_oformat) + xo_close_instance("probes"); if (error != 0) return (error); }