pthread_join man page on SmartOS

Man page or keyword search:  
man Server   16655 pages
apropos Keyword Search (all sections)
Output format
SmartOS logo
[printable version]

PTHREAD_JOIN(3C)					      PTHREAD_JOIN(3C)

NAME
       pthread_join - wait for thread termination

SYNOPSIS
       cc -mt [ flag... ] file... -lpthread [ library... ]
       #include <pthread.h>

       int pthread_join(pthread_t thread, void **status);

DESCRIPTION
       The  pthread_join()  function suspends processing of the calling thread
       until the target thread completes. thread must be a member of the  cur‐
       rent  process  and  it  cannot  be  a detached thread. See pthread_cre‐
       ate(3C).

       If two or more threads wait for the same thread to complete,  all  will
       suspend processing until the thread has terminated, and then one thread
       will return successfully and the others will return with	 an  error  of
       ESRCH.  The  pthread_join()  function  will not block processing of the
       calling thread if the target thread has already terminated.

       If a pthread_join() call returns successfully with  a  non-null	status
       argument,  the  value  passed  to  pthread_exit(3C)  by the terminating
       thread will be placed in the location referenced by status.

       If the pthread_join() calling thread  is	 cancelled,  then  the	target
       thread  will  remain  joinable  by pthread_join(). However, the calling
       thread may set up a cancellation cleanup handler on thread prior to the
       join   call,   which   may   detach   the   target  thread  by  calling
       pthread_detach(3C). See pthread_detach(3C) and pthread_cancel(3C).

RETURN VALUES
       If successful, pthread_join() returns 0. Otherwise, an error number  is
       returned to indicate the error.

ERRORS
       EDEADLK
		  A  joining  deadlock	would  occur,  such  as	 when a thread
		  attempts to wait for itself.

       EINVAL
		  The thread  corresponding  to	 the  given  thread  ID	 is  a
		  detached thread.

       ESRCH
		  No  thread  could be found corresponding to the given thread
		  ID.

ATTRIBUTES
       See attributes(5) for descriptions of the following attributes:

       ┌────────────────────┬─────────────────┐
       │  ATTRIBUTE TYPE    │ ATTRIBUTE VALUE │
       ├────────────────────┼─────────────────┤
       │Interface Stability │ Standard	      │
       ├────────────────────┼─────────────────┤
       │MT-Level	    │ MT-Safe	      │
       └────────────────────┴─────────────────┘

SEE ALSO
       pthread_cancel(3C),	 pthread_create(3C),	   pthread_detach(3C),
       pthread_exit(3C), wait(3C), attributes(5), standards(5)

NOTES
       The pthread_join(3C) function must specify the thread ID for whose ter‐
       mination it will wait.

       Calling	pthread_join()	also   "detaches"   the	  thread;   that   is,
       pthread_join() includes the effect of the pthread_detach() function. If
       a thread were to	 be  cancelled	when  blocked  in  pthread_join(),  an
       explicit	 detach would have to be performed in the cancellation cleanup
       handler. The pthread_detach() function exists primarily for  this  pur‐
       pose.

				 Mar 23, 2005		      PTHREAD_JOIN(3C)
[top]

List of man pages available for SmartOS

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net