PROC_LWP_IN_SET(3PROC) Process Control Library Functions
NAME
proc_lwp_in_set,
proc_lwp_range_valid - test and validate thread ranges
LIBRARY
Process Control Library (libproc, -lproc)
SYNOPSIS
#include <libproc.h> int proc_lwp_in_set(
const char *set,
lwpid_t lwpid);
int proc_lwp_range_valid(
const char *set);
DESCRIPTION
The
proc_lwp_in_set() and
proc_lwp_range_valid() functions provide
means for testing the validity of thread ranges and whether a thread is
in a range.
A thread range is a series of one or more series of range identifiers
which describe a collection of threads. These are often used by
programs such as
pbind(8),
pstack(1),
prun(1),
pstop(1), and others as
a means for a user to specify a selection of threads from inside of a
process.
More formally, the thread range may be described as:
lwp_range[,lwp_range]*
An LWP range may be specified as one of the following four strings.
The following table shows the string formats and the corresponding set
of valid threads that match it:
-n lwpid <= n
n-m n <= lwpid <= m
n- lwpid >= n
n lwpid == n
For example, the thread range
-2,4-5,7,8- matches thread with IDs 0-2,
4-5, 7, and any thread id 8 or greater.
The
proc_lwp_range_valid() function determines whether or not the
character string
set is a valid thread range based on the rules above.
Note, the empty string, the NULL pointer, or otherwise are not valid.
The
proc_lwp_in_set() function determines whether the thread identifier
lwpid is contained in the set described by
set. If
set is the NULL
pointer, then every thread matches the set.
RETURN VALUES
Upon successful completion, the
proc_lwp_in_set function returns
1 to
indicate
lwpid is in
set. Otherwise,
0 is returned to indicate that
lwpid is not in
set.
Upon successful completion, the
proc_lwp_range_valid function returns
0 to indicate
set is valid. Otherwise,
-1 is returned to indicate that
the set is invalid.
INTERFACE STABILITY
UncommittedMT-LEVEL MT-SafeSEE ALSO
libproc(3LIB),
proc(5)illumos November 27, 2023 illumos