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