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