| Skip Navigation Links | |
| Exit Print View | |
![]() | man pages section 3: Basic Library Functions Oracle Solaris 11 Information Library |
enable_extended_FILE_stdio(3C)
posix_spawnattr_getschedparam(3C)
posix_spawnattr_getschedpolicy(3C)
posix_spawnattr_getsigdefault(3C)
posix_spawnattr_getsigignore_np(3C)
posix_spawnattr_getsigmask(3C)
posix_spawnattr_setschedparam(3C)
posix_spawnattr_setschedpolicy(3C)
posix_spawnattr_setsigdefault(3C)
posix_spawnattr_setsigignore_np(3C)
posix_spawnattr_setsigmask(3C)
posix_spawn_file_actions_addclose(3C)
posix_spawn_file_actions_addclosefrom_np(3C)
posix_spawn_file_actions_adddup2(3C)
posix_spawn_file_actions_addopen(3C)
posix_spawn_file_actions_destroy(3C)
posix_spawn_file_actions_init(3C)
pthread_attr_getdetachstate(3C)
pthread_attr_getinheritsched(3C)
pthread_attr_getschedparam(3C)
pthread_attr_getschedpolicy(3C)
pthread_attr_setdetachstate(3C)
pthread_attr_setinheritsched(3C)
pthread_attr_setschedparam(3C)
pthread_attr_setschedpolicy(3C)
pthread_barrierattr_destroy(3C)
pthread_barrierattr_getpshared(3C)
pthread_barrierattr_setpshared(3C)
pthread_condattr_getpshared(3C)
pthread_condattr_setpshared(3C)
pthread_cond_reltimedwait_np(3C)
pthread_key_create_once_np(3C)
pthread_mutexattr_getprioceiling(3C)
pthread_mutexattr_getprotocol(3C)
pthread_mutexattr_getpshared(3C)
pthread_mutexattr_getrobust(3C)
pthread_mutexattr_setprioceiling(3C)
pthread_mutexattr_setprotocol(3C)
pthread_mutexattr_setpshared(3C)
pthread_mutexattr_setrobust(3C)
pthread_mutex_getprioceiling(3C)
pthread_mutex_reltimedlock_np(3C)
pthread_mutex_setprioceiling(3C)
pthread_rwlockattr_destroy(3C)
pthread_rwlockattr_getpshared(3C)
pthread_rwlockattr_setpshared(3C)
pthread_rwlock_reltimedrdlock_np(3C)
pthread_rwlock_reltimedwrlock_np(3C)
pthread_rwlock_timedrdlock(3C)
pthread_rwlock_timedwrlock(3C)
rctlblk_get_enforced_value(3C)
- wait for thread termination
cc –mt [flag... ]file... –lpthread [library... ]#include <pthread.h>intpthread_join(pthread_tthread,void **status);
Thepthread_join() function suspends processing of the calling thread until the targetthread completes.thread must be a member of the current process andit cannot be a detached thread. Seepthread_create(3C).
If two or more threads wait for the same thread to complete,all will suspend processing until the thread has terminated, and then onethread will return successfully and the others will return with an errorofESRCH. Thepthread_join() function will not block processing of the calling threadif the targetthread has already terminated.
If apthread_join() call returns successfully with a non-nullstatus argument, thevalue passed topthread_exit(3C) by the terminating thread will be placed in thelocation referenced bystatus.
If thepthread_join() calling thread is cancelled, then the targetthread willremain joinable bypthread_join(). However, the calling thread may set up acancellation cleanup handler onthread prior to the join call, which may detachthe targetthread by callingpthread_detach(3C). Seepthread_detach(3C) andpthread_cancel(3C).
If successful,pthread_join() returns0. Otherwise, an error number is returned toindicate the error.
A joining deadlock would occur, such as when a thread attempts to wait for itself.
The thread corresponding to the given thread ID is a detached thread.
No thread could be found corresponding to the given thread ID.
Seeattributes(5) for descriptions of the following attributes:
|
pthread_cancel(3C),pthread_create(3C),pthread_detach(3C),pthread_exit(3C),wait(3C),attributes(5),standards(5)
Thepthread_join(3C) function must specify thethread ID for whose termination itwill wait.
Callingpthread_join() also "detaches" the thread; that is,pthread_join() includes the effectof thepthread_detach() function. If a thread were to be cancelled whenblocked inpthread_join(), an explicit detach would have to be performed in thecancellation cleanup handler. Thepthread_detach() function exists primarily for this purpose.
Copyright © 2011, Oracle and/or its affiliates. All rights reserved.Legal Notices | ![]() ![]() |