Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
THR_EXIT(2)		  FreeBSD System Calls Manual		   THR_EXIT(2)

NAME
     thr_exit -- terminate current thread

LIBRARY
     Standard C	Library	(libc, -lc)

SYNOPSIS
     #include <sys/thr.h>

     void
     thr_exit(long *state);

DESCRIPTION
     This function is intended for implementing	threading.  Normal applica-
     tions should call pthread_exit(3) instead.

     The thr_exit() system call	terminates the current kernel-scheduled
     thread.

     If	the state argument is not NULL,	the location pointed to	by the argu-
     ment is updated with an arbitrary non-zero	value, and an _umtx_op(2)
     UMTX_OP_WAKE operation is consequently performed on the location.

     Attempts to terminate the last thread in the process are silently ig-
     nored.  Use _exit(2) syscall to terminate the process.

RETURN VALUES
     The function does not return a value.  A return from the function indi-
     cates that	the calling thread was the last	one in the process.

SEE ALSO
     _exit(2), _umtx_op(2), thr_kill(2), thr_kill2(2), thr_new(2),
     thr_self(2), thr_set_name(2), pthread_exit(3)

STANDARDS
     The thr_exit() system call	is non-standard	and is used by 1:1 Threading
     Library (libthr, -lthr) to	implement IEEE Std 1003.1-2001 ("POSIX.1")
     pthread(3)	functionality.

HISTORY
     The thr_exit() system call	first appeared in FreeBSD 5.2.

FreeBSD	13.0			  May 5, 2020			  FreeBSD 13.0

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | SEE ALSO | STANDARDS | HISTORY

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=thr_exit&sektion=2&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help