Loading...
--- Libc/Libc-498/pthreads/pthread_join.3
+++ Libc/Libc-262.2.12/pthreads/pthread_join.3
@@ -39,16 +39,13 @@
.Sh SYNOPSIS
.Fd #include <pthread.h>
.Ft int
-.Fo pthread_join
-.Fa "pthread_t thread"
-.Fa "void **value_ptr"
-.Fc
+.Fn pthread_join "pthread_t thread" "void **value_ptr"
.Sh DESCRIPTION
The
.Fn pthread_join
function suspends execution of the calling thread until the target
.Fa thread
-terminates, unless the target
+terminates unless the target
.Fa thread
has already terminated.
.Pp
@@ -65,26 +62,24 @@
returns successfully, the target thread has been terminated.
The results
of multiple simultaneous calls to
-.Fn pthread_join ,
-specifying the same target thread, are undefined.
+.Fn pthread_join
+specifying the same target thread are undefined.
If the thread calling
.Fn pthread_join
-is cancelled, the target thread is not detached.
+is cancelled, then the target thread is not detached.
.Pp
+A thread that has exited but remains unjoined counts against
+[_POSIX_THREAD_THREADS_MAX].
.Sh RETURN VALUES
If successful, the
.Fn pthread_join
function will return zero.
-Otherwise, an error number will be returned to
+Otherwise an error number will be returned to
indicate the error.
.Sh ERRORS
.Fn pthread_join
will fail if:
.Bl -tag -width Er
-.It Bq Er EDEADLK
-A deadlock was detected or the value of
-.Fa thread
-specifies the calling thread.
.It Bq Er EINVAL
The implementation has detected that the value specified by
.Fa thread
@@ -93,6 +88,10 @@
No thread could be found corresponding to that specified by the given
thread ID,
.Fa thread .
+.It Bq Er EDEADLK
+A deadlock was detected or the value of
+.Fa thread
+specifies the calling thread.
.El
.Sh SEE ALSO
.Xr wait 2 ,