VMS Help
POSIX Threads, PTHREAD routines, pthread_attr_setdetachstate
*Conan The Librarian (sorry for the slow response - running on an old VAX)
|
|
Changes the detachstate attribute in the specified thread
attributes object.
#include <pthread.h>
int
pthread_attr_setdetachstate (
pthread_attr_t *attr,
int detachstate);
attr
Thread attributes object to be modified.
detachstate
New value for the detachstate attribute. Valid values are as
follows:
PTHREAD_CREATE_ This is the default value. Threads are
JOINABLE created in "undetached" state.
PTHREAD_CREATE_ The created thread is detached immediately,
DETACHED before it begins running.
This routine changes the detachstate attribute in the thread
attributes object specified by the attr argument. The detachstate
attribute specifies whether the thread created using the
specified thread attributes object is created in a detached state
or not. A value of PTHREAD_CREATE_JOINABLE indicates the thread
is not detached, and a value of PTHREAD_CREATE_DETACHED indicates
the thread is detached. PTHREAD_CREATE_JOINABLE is the default
value.
Your program cannot use the thread handle (the value of type
pthread_t returned by the pthread_create() routine) of a detached
thread because the thread might terminate asynchronously, and a
detached thread ID is not valid after termination. In particular,
it is an error to attempt to detach or join with a detached
thread.
When a thread that has not been detached completes execution,
the Threads Library retains the state of that thread to allow
another thread to join with it. If the thread is detached
before it completes execution, the Threads Library is free to
immediately reclaim the thread's storage and resources. Failing
to detach threads that have completed execution can result in
wasting resources, so threads should be detached as soon as
the program is done with them. If there is no need to use the
thread's handle after creation, such as to join with it, create
the thread initially detached.
If an error condition occurs, this routine returns an integer
value indicating the type of error. Possible return values are as
follows:
Return Description
0 Successful completion.
[EINVAL] The value specified by the attr argument is not a
valid threads attribute object or the detachstate
argument is invalid.
pthread_attr_init()
pthread_attr_getdetachstate()
pthread_create()
pthread_join()
[legal]
[privacy]
[GNU]
[policy]
[netiquette]
[sponsors]
[FAQ]
Polarhome, production since 1999.
Member of Polarhome portal.