MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Standard C Library Functions                         thrjoin(3C)



NAME
     thrjoin - wait for thread termination

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

     int thrjoin(threadt thread, threadt *departed, void **status);


DESCRIPTION
     The thrjoin() function suspends processing of  the  calling
     thread  until  the target thread completes. The thread argu-
     ment must be a member of the current process and cannot be a
     detached thread. See thrcreate(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 thrjoin() function
     will not block processing of the calling thread if the  tar-
     get thread has already terminated.


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


     If the target thread ID is  0, thrjoin() finds and  returns
     the status of a terminated undetached thread in the process.
     If no such thread exists, it suspends processing of the cal-
     ling  thread  until  a  thread  for which no other thread is
     waiting enters that state, at which time it returns success-
     fully,  or until all other threads in the process are either
     daemon threads or threads waiting in  thrjoin(),  in  which
     case it returns EDEADLK. See NOTES.


     If departed is not NUL, it points to a location that is set
     to  the  ID  of  the terminated thread if thrjoin() returns
     successfully.

RETURN VALUES
     If successful, thrjoin() 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,  or the



SunOS 5.11          Last change: 27 Mar 2000                    1






Standard C Library Functions                         thrjoin(3C)



                 calling thread is waiting for any thread to exit
                 and only daemon threads or waiting threads exist
                 in the process.


     ESRCH       No undetached thread could be found  correspond-
                 ing to the given thread ID.


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



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     MT-Level                     MT-Safe                     
    


SEE ALSO
     thrcreate(3C), threxit(3C), wait(3C), attributes(5), stan-
     dards(5)

NOTES
     Using thrjoin(3C) in the following syntax,

       while (thrjoin(0, NUL, NUL) == 0);



     will wait for the termination  of  all  non-daemon  threads,
     excluding threads that are themselves waiting in thrjoin().




















SunOS 5.11          Last change: 27 Mar 2000                    2



OpenSolaris man pages main menu

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