Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

prex(1)

tnfdump(1)

TNF_DECLARE_RECORD(3X)

TNF_PROBE(3X)

tnf_process_disable(3X)

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);

AVAILABILITY

SUNWtnfd

MT-LEVEL

MT-Safe

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/enabled.  The first two (process and thread) are controlled by this interface.  The probe is controlled via the application prex(1). 

tnf_process_disable() turns off probing for the process. The default process state is to have probing enabled.  tnf_process_enable() turns on probing for the process. 

tnf_thread_disable() turns off probing for the currently running thread.  Threads are "born" or created with this state enabled.  tnf_thread_enable() 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. 

SEE ALSO

prex(1), tnfdump(1), TNF_DECLARE_RECORD(3X), TNF_PROBE(3X)

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 via tnf_process_enable() AND

• the thread that hits the probe has probing enabled — which is every thread’s default or could be set via 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().

tnf_proces_disable() and tnf_process_enable() should only be used to toggle probing based on some internal program condition.  tnf_thread_disable() should be used to turn off probing for threads that are uninteresting. 

SunOS 5.5/SPARC  —  Last change: 29 Sep 1994

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026