diff --git a/man2/_exit.2 b/man2/_exit.2 index 6d9067eb6..4b3cfd7ac 100644 --- a/man2/_exit.2 +++ b/man2/_exit.2 @@ -112,14 +112,14 @@ canceled upon .BR _exit (), is implementation-dependent. .SS C library/kernel differences -In glibc up to version 2.3, the -.BR _exit () -wrapper function invoked the kernel system call of the same name. -Since glibc 2.3, the wrapper function invokes -.BR exit_group (2), -in order to terminate all of the threads in a process. +The text above in DESCRIPTION describes the traditional effect of +.BR _exit (), +which is to terminate a process, +and these are the semantics specified by POSIIX.1 and implemented +by the C library wrapper function. +On modern systems, this means termination of all threads in the process. .PP -The raw +By contrast with the C library wrapper function, the raw Linux .BR _exit () system call terminates only the calling thread, and actions such as reparenting child processes or sending @@ -127,6 +127,13 @@ reparenting child processes or sending to the parent process are performed only if this is the last thread in the thread group. .\" _exit() is used by pthread_exit() to terminate the calling thread +.PP +In glibc up to version 2.3, the +.BR _exit () +wrapper function invoked the kernel system call of the same name. +Since glibc 2.3, the wrapper function invokes +.BR exit_group (2), +in order to terminate all of the threads in a process. .SH SEE ALSO .BR execve (2), .BR exit_group (2),