xref: /illumos-gate/usr/src/man/man3c/thrd_exit.3c (revision 806838751b3ce15414781bffd4adfac166204c62)
1fc2512cfSRobert Mustacchi.\"
2fc2512cfSRobert Mustacchi.\" This file and its contents are supplied under the terms of the
3fc2512cfSRobert Mustacchi.\" Common Development and Distribution License ("CDDL"), version 1.0.
4fc2512cfSRobert Mustacchi.\" You may only use this file in accordance with the terms of version
5fc2512cfSRobert Mustacchi.\" 1.0 of the CDDL.
6fc2512cfSRobert Mustacchi.\"
7fc2512cfSRobert Mustacchi.\" A full copy of the text of the CDDL should have accompanied this
8fc2512cfSRobert Mustacchi.\" source.  A copy of the CDDL is also available via the Internet at
9fc2512cfSRobert Mustacchi.\" http://www.illumos.org/license/CDDL.
10fc2512cfSRobert Mustacchi.\"
11fc2512cfSRobert Mustacchi.\"
12fc2512cfSRobert Mustacchi.\" Copyright 2016 Joyent, Inc.
13fc2512cfSRobert Mustacchi.\"
14*80683875SPeter Tribble.Dd "February 21, 2023"
15fc2512cfSRobert Mustacchi.Dt THRD_EXIT 3C
16fc2512cfSRobert Mustacchi.Os
17fc2512cfSRobert Mustacchi.Sh NAME
18fc2512cfSRobert Mustacchi.Nm thrd_exit
19fc2512cfSRobert Mustacchi.Nd terminate a thread
20fc2512cfSRobert Mustacchi.Sh SYNOPSIS
21fc2512cfSRobert Mustacchi.In threads.h
22fc2512cfSRobert Mustacchi.Ft "_Noreturn void"
23fc2512cfSRobert Mustacchi.Fo thrd_exit
24fc2512cfSRobert Mustacchi.Fa "int res"
25fc2512cfSRobert Mustacchi.Fc
26fc2512cfSRobert Mustacchi.Sh DESCRIPTION
27fc2512cfSRobert MustacchiThe
28fc2512cfSRobert Mustacchi.Fn thrd_exit
29fc2512cfSRobert Mustacchifunction terminates the calling thread, in a similar way that
30fc2512cfSRobert Mustacchi.Xr exit 3C
3172d3dbb9SYuri Pankovterminates the calling process.
3272d3dbb9SYuri PankovIf the calling thread has not been detached, then the exit status information
3372d3dbb9SYuri Pankovprovided in
34fc2512cfSRobert Mustacchi.Fa res
35fc2512cfSRobert Mustacchiis saved and can be retrieved by the use of the
36fc2512cfSRobert Mustacchi.Xr thrd_join 3C
37fc2512cfSRobert Mustacchifunction.
38fc2512cfSRobert Mustacchi.Pp
39fc2512cfSRobert MustacchiWhen the thread exits, all signals will be blocked and various
40fc2512cfSRobert Mustacchidestructors and clean up handlers will be called, such as those
41fc2512cfSRobert Mustacchiregistered with
42fc2512cfSRobert Mustacchi.Xr tss_create 3C .
43fc2512cfSRobert MustacchiThe act of thread termination does not cause any process-wide resources,
44fc2512cfSRobert Mustacchisuch as mutexes and file descriptors to be released.
45fc2512cfSRobert Mustacchi.Pp
46fc2512cfSRobert MustacchiIf a thread, other than the thread in which
47fc2512cfSRobert Mustacchi.Fn main
48fc2512cfSRobert Mustacchiwas first invoked returns from its starting routine, it will implicitly
49fc2512cfSRobert Mustacchicall
50fc2512cfSRobert Mustacchi.Fn thrd_exit
51fc2512cfSRobert Mustacchiand set the return value to be its exit status.
52fc2512cfSRobert Mustacchi.Sh RETURN VALUES
53fc2512cfSRobert MustacchiThe
54fc2512cfSRobert Mustacchi.Fn thrd_exit
55fc2512cfSRobert Mustacchifunction does not return, the calling thread is terminated.
56fc2512cfSRobert Mustacchi.Sh INTERFACE STABILITY
57fc2512cfSRobert Mustacchi.Sy Standard
58fc2512cfSRobert Mustacchi.Sh MT-LEVEL
59fc2512cfSRobert Mustacchi.Sy MT-Safe
60fc2512cfSRobert Mustacchi.Sh SEE ALSO
61fc2512cfSRobert Mustacchi.Xr pthread_exit 3C ,
62fc2512cfSRobert Mustacchi.Xr thr_exit 3C ,
63bbf21555SRichard Lowe.Xr attributes 7 ,
64bbf21555SRichard Lowe.Xr threads 7
65