xref: /illumos-gate/usr/src/man/man3proc/proc_lwp_in_set.3proc (revision a7d7cafedfa26f9e421bbcaf42b7387ef67c0a31)
143051d27SRobert Mustacchi.\"
243051d27SRobert Mustacchi.\" This file and its contents are supplied under the terms of the
343051d27SRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
443051d27SRobert Mustacchi.\" You may only use this file in accordance with the terms of version
543051d27SRobert Mustacchi.\" 1.0 of the CDDL.
643051d27SRobert Mustacchi.\"
743051d27SRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
843051d27SRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
943051d27SRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
1043051d27SRobert Mustacchi.\"
1143051d27SRobert Mustacchi.\"
1243051d27SRobert Mustacchi.\" Copyright 2015 Joyent, Inc.
1343051d27SRobert Mustacchi.\"
14*a7d7cafeSRobert Mustacchi.Dd November 27, 2023
1543051d27SRobert Mustacchi.Dt PROC_LWP_IN_SET 3PROC
1643051d27SRobert Mustacchi.Os
1743051d27SRobert Mustacchi.Sh NAME
1843051d27SRobert Mustacchi.Nm proc_lwp_in_set ,
1943051d27SRobert Mustacchi.Nm proc_lwp_range_valid
2043051d27SRobert Mustacchi.Nd test and validate thread ranges
21*a7d7cafeSRobert Mustacchi.Sh LIBRARY
2243051d27SRobert Mustacchi.Lb libproc
23*a7d7cafeSRobert Mustacchi.Sh SYNOPSIS
24*a7d7cafeSRobert Mustacchi.In libproc.h
2543051d27SRobert Mustacchi.Ft int
2643051d27SRobert Mustacchi.Fo proc_lwp_in_set
2743051d27SRobert Mustacchi.Fa "const char *set"
2843051d27SRobert Mustacchi.Fa "lwpid_t lwpid"
2943051d27SRobert Mustacchi.Fc
3043051d27SRobert Mustacchi.Ft int
3143051d27SRobert Mustacchi.Fo proc_lwp_range_valid
3243051d27SRobert Mustacchi.Fa "const char *set"
3343051d27SRobert Mustacchi.Fc
3443051d27SRobert Mustacchi.Sh DESCRIPTION
3543051d27SRobert MustacchiThe
3643051d27SRobert Mustacchi.Fn proc_lwp_in_set
3743051d27SRobert Mustacchiand
3843051d27SRobert Mustacchi.Fn proc_lwp_range_valid
3943051d27SRobert Mustacchifunctions provide means for testing the validity of thread ranges and
4043051d27SRobert Mustacchiwhether a thread is in a range.
4143051d27SRobert Mustacchi.Pp
4243051d27SRobert MustacchiA thread range is a series of one or more series of range identifiers
4372d3dbb9SYuri Pankovwhich describe a collection of threads.
4472d3dbb9SYuri PankovThese are often used by programs such as
45bbf21555SRichard Lowe.Xr pbind 8 ,
4643051d27SRobert Mustacchi.Xr pstack 1 ,
4743051d27SRobert Mustacchi.Xr prun 1 ,
4843051d27SRobert Mustacchi.Xr pstop 1 ,
4943051d27SRobert Mustacchiand others as a means for a user to specify a selection of threads from
5043051d27SRobert Mustacchiinside of a process.
5143051d27SRobert Mustacchi.Pp
5243051d27SRobert MustacchiMore formally, the thread range may be described as:
5343051d27SRobert Mustacchi.Bd -literal -offset indent
5443051d27SRobert Mustacchilwp_range[,lwp_range]*
5543051d27SRobert Mustacchi.Ed
5643051d27SRobert Mustacchi.Pp
5772d3dbb9SYuri PankovAn LWP range may be specified as one of the following four strings.
5872d3dbb9SYuri PankovThe following table shows the string formats and the corresponding set of
5943051d27SRobert Mustacchivalid threads that match it:
6043051d27SRobert Mustacchi.Bl -column -offset indent ".Sy n-m" "n <= lwpid <= m"
6143051d27SRobert Mustacchi.It Sy -n Ta lwpid <= n
6243051d27SRobert Mustacchi.It Sy n-m Ta n <= lwpid <= m
6343051d27SRobert Mustacchi.It Sy n- Ta lwpid >= n
6443051d27SRobert Mustacchi.It Sy n Ta lwpid == n
6543051d27SRobert Mustacchi.El
6643051d27SRobert Mustacchi.Pp
6743051d27SRobert MustacchiFor example, the thread range
6843051d27SRobert Mustacchi.Sy -2,4-5,7,8-
6943051d27SRobert Mustacchimatches thread with IDs 0-2, 4-5, 7, and any thread id 8 or greater.
7043051d27SRobert Mustacchi.Pp
7143051d27SRobert MustacchiThe
7243051d27SRobert Mustacchi.Fn proc_lwp_range_valid
7343051d27SRobert Mustacchifunction determines whether or not the character string
7443051d27SRobert Mustacchi.Fa set
7572d3dbb9SYuri Pankovis a valid thread range based on the rules above.
7672d3dbb9SYuri PankovNote, the empty string, the
7743051d27SRobert Mustacchi.Dv NULL
7843051d27SRobert Mustacchipointer, or otherwise are not valid.
7943051d27SRobert Mustacchi.Pp
8043051d27SRobert MustacchiThe
8143051d27SRobert Mustacchi.Fn proc_lwp_in_set
8243051d27SRobert Mustacchifunction determines whether the thread identifier
8343051d27SRobert Mustacchi.Fa lwpid
8443051d27SRobert Mustacchiis contained in the set described by
8543051d27SRobert Mustacchi.Fa set .
8643051d27SRobert MustacchiIf
8743051d27SRobert Mustacchi.Fa set
8843051d27SRobert Mustacchiis the
8943051d27SRobert Mustacchi.Dv NULL
9043051d27SRobert Mustacchipointer, then every thread matches the set.
9143051d27SRobert Mustacchi.Sh RETURN VALUES
9243051d27SRobert MustacchiUpon successful completion, the
9343051d27SRobert Mustacchi.Fa proc_lwp_in_set
9443051d27SRobert Mustacchifunction returns
9543051d27SRobert Mustacchi.Sy 1
9643051d27SRobert Mustacchito indicate
9743051d27SRobert Mustacchi.Fa lwpid
9843051d27SRobert Mustacchiis in
9943051d27SRobert Mustacchi.Fa set .
10043051d27SRobert MustacchiOtherwise,
10143051d27SRobert Mustacchi.Sy 0
10243051d27SRobert Mustacchiis returned to indicate that
10343051d27SRobert Mustacchi.Fa lwpid
10443051d27SRobert Mustacchiis not in
10543051d27SRobert Mustacchi.Fa set .
10643051d27SRobert Mustacchi.Pp
10743051d27SRobert MustacchiUpon successful completion, the
10843051d27SRobert Mustacchi.Fa proc_lwp_range_valid
10943051d27SRobert Mustacchifunction returns
11043051d27SRobert Mustacchi.Sy 0
11143051d27SRobert Mustacchito indicate
11243051d27SRobert Mustacchi.Fa set
11372d3dbb9SYuri Pankovis valid.
11472d3dbb9SYuri PankovOtherwise,
11543051d27SRobert Mustacchi.Sy -1
11643051d27SRobert Mustacchiis returned to indicate that the set is invalid.
11743051d27SRobert Mustacchi.Sh INTERFACE STABILITY
11843051d27SRobert Mustacchi.Sy Uncommitted
11943051d27SRobert Mustacchi.Sh MT-LEVEL
12043051d27SRobert Mustacchi.Sy MT-Safe
12143051d27SRobert Mustacchi.Sh SEE ALSO
12243051d27SRobert Mustacchi.Xr libproc 3LIB ,
123bbf21555SRichard Lowe.Xr proc 5
124