tnf_process_disable(3TNF) TNF Library Functions tnf_process_disable(3TNF)NAME
tnf_process_disable, tnf_process_enable, tnf_thread_disable,
tnf_thread_enable - probe control internal interface
SYNOPSIS
cc [ flag ... ] file ... -ltnfprobe [ library ... ]
#include <tnf/probe.h>
void tnf_process_disable(void);
void tnf_process_enable(void);
void tnf_thread_disable(void);
void tnf_thread_enable(void);
DESCRIPTION
There are three levels of granularity for controlling tracing and probe
functions (called probing from here on): probing for the entire
process, a particular thread, and the probe itself can be disabled or
enabled. The first two (process and thread) are controlled by this
interface. The probe is controlled with the prex(1) utility.
The tnf_process_disable() function turns off probing for the process.
The default process state is to have probing enabled. The
tnf_process_enable() function turns on probing for the process.
The tnf_thread_disable() function turns off probing for the currently
running thread. Threads are "born" or created with this state enabled.
The tnf_thread_enable() function turns on probing for the currently
running thread. If the program is a non-threaded program, these two
thread interfaces disable or enable probing for the process.
ATTRIBUTES
See attributes(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Availability │SUNWtnfd │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Unstable │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOprex(1), tnfdump(1), TNF_DECLARE_RECORD(3TNF), TNF_PROBE(3TNF),
attributes(5)NOTES
A probe is considered enabled only if:
· prex(1) has enabled the probe AND
· the process has probing enabled, which is the default or could be
set with tnf_process_enable() AND
· the thread that hits the probe has probing enabled, which is every
thread's default or could be set with tnf_thread_enable().
There is a run time cost associated with determining that the probe is
disabled. To reduce the performance effect of probes, this cost should
be minimized. The quickest way that a probe can be determined to be
disabled is by the enable control that prex(1) uses. Therefore, to
disable all the probes in a process use the disable command in prex(1)
rather than tnf_process_disable().
The tnf_process_disable() and tnf_process_enable() functions should
only be used to toggle probing based on some internal program condi‐
tion. The tnf_thread_disable() function should be used to turn off
probing for threads that are uninteresting.
SunOS 5.10 5 Feb 2002 tnf_process_disable(3TNF)