man pages section 3: Basic Library Functions

Exit Print View

Updated: July 2014
 
 

pthread_attr_setdetachstate(3C)

Name

pthread_attr_getdetachstate, pthread_attr_setdetachstate - get or set detachstate attribute

Synopsis

cc –mt [ flag... ] file... [ library... ]
#include <pthread.h> 

int pthread_attr_setdetachstate(pthread_attr_t *attr,
     int detachstate);
int pthread_attr_getdetachstate(const pthread_attr_t *attr,
     int *detachstate);

Description

The detachstate attribute controls whether the thread is created in a detached state. If the thread is created detached, then use of the ID of the newly created thread by the pthread_detach() or pthread_join() function is an error.

The pthread_attr_setdetachstate() and pthread_attr_getdetachstate(), respectively, set and get the detachstate attribute in the attr object.

The detachstate can be set to either PTHREAD_CREATE_DETACHED or PTHREAD_CREATE_JOINABLE. A value of PTHREAD_CREATE_DETACHED causes all threads created with attr to be in the detached state, whereas using a value of PTHREAD_CREATE_JOINABLE causes all threads created with attr to be in the joinable state. The default value of the detachstate attribute is PTHREAD_CREATE_JOINABLE.

Return Values

Upon successful completion, pthread_attr_setdetachstate() and pthread_attr_getdetachstate() return a value of 0. Otherwise, an error number is returned to indicate the error.

The pthread_attr_getdetachstate() function stores the value of the detachstate attribute in detachstate if successful.

Errors

The pthread_attr_setdetachstate() or pthread_attr_getdetachstate() functions may fail if:

EINVAL

attr or detachstate is invalid.

Attributes

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

ATTRIBUTE TYPE
ATTRIBUTE VALUE
Interface Stability
Committed
MT-Level
MT-Safe
Standard

See also

pthread_attr_init(3C), pthread_attr_setstackaddr(3C), pthread_attr_setstacksize(3C), pthread_create(3C), attributes(5), standards(5)