MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standard C Library Functions                     pthreadjoin(3C)



NAME
     pthreadjoin - wait for thread termination

SYNOPSIS
     cc -mt [ flag... ] file... -lpthread [ library... ]
     #include 

     int pthreadjoin(pthreadt thread, void **status);


DESCRIPTION
     The pthreadjoin() function suspends processing of the  cal-
     ling  thread  until the target thread completes. thread must
     be a member of the  current  process  and  it  cannot  be  a
     detached thread. See pthreadcreate(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 pthreadjoin() func-
     tion will not block processing of the calling thread if  the
     target thread has already terminated.


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


     If the pthreadjoin() calling thread is cancelled, then  the
     target  thread  will remain joinable by pthreadjoin(). How-
     ever, 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   pthreaddetach(3C).   See
     pthreaddetach(3C) and pthreadcancel(3C).

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

ERORS
     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.






SunOS 5.11          Last change: 23 Mar 2005                    1






Standard C Library Functions                     pthreadjoin(3C)



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


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Standard                    
    
     MT-Level                     MT-Safe                     
    


SEE ALSO
     pthreadcancel(3C), pthreadcreate(3C),  pthreaddetach(3C),
     pthreadexit(3C), wait(3C), attributes(5), standards(5)

NOTES
     The pthreadjoin(3C) function must specify the thread ID for
     whose termination it will wait.


     Calling pthreadjoin() also "detaches" the thread; that  is,
     pthreadjoin()  includes  the effect of the pthreaddetach()
     function. If a thread were to be cancelled when  blocked  in
     pthreadjoin(),  an  explicit  detach  would have to be per-
     formed   in   the   cancellation   cleanup   handler.    The
     pthreaddetach() function exists primarily for this purpose.





















SunOS 5.11          Last change: 23 Mar 2005                    2



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™