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


Uncommitted

MT-LEVEL
MT-Safe

SEE ALSO


libproc(3LIB), proc(5)

illumos November 27, 2023 illumos

tribblix@gmail.com :: GitHub :: Privacy