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