NAME

pthread_attr_setdetachstate, pthread_attr_getdetachstate – set/get detach state attribute in thread attributes object  

SYNOPSIS

#include <pthread.h>

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

Compile and link with -pthread.
 

DESCRIPTION

The pthread_attr_setdetachstate() function sets the detach state attribute of the thread attributes object referred to by attr to the value specified in detachstate. The detach state attribute determines whether a thread created using the thread attributes object attr will be created in a joinable or a detached state.

The following values may be specified in detachstate:

PTHREAD_CREATE_DETACHED
Threads that are created using attr will be created in a detached state.
PTHREAD_CREATE_JOINABLE
Threads that are created using attr will be created in a joinable state.

The default setting of the detach state attribute in a newly initialized thread attributes object is PTHREAD_CREATE_JOINABLE.

The pthread_attr_getdetachstate() returns the detach state attribute of the thread attributes object attr in the buffer pointed to by detachstate.  

RETURN VALUE

On success, these functions return 0; on error, they return a nonzero error number.  

ERRORS

pthread_attr_setdetachstate() can fail with the following error:
EINVAL
An invalid value was specified in detachstate.
 

ATTRIBUTES

 

Multithreading (see pthreads(7))

The pthread_attr_setdetachstate() and pthread_attr_getdetachstate() functions are thread-safe.  

CONFORMING TO

POSIX.1-2001.  

NOTES

See pthread_create(3) for more details on detached and joinable threads.

A thread that is created in a joinable state should eventually either be joined using pthread_join(3) or detached using pthread_detach(3); see pthread_create(3).

It is an error to specify the thread ID of a thread that was created in a detached state in a later call to pthread_detach(3) or pthread_join(3).  

EXAMPLE

See pthread_attr_init(3).  

Willie has over 15 years of experience in Linux system administration and DevOps. After managing infrastructure for startups and enterprises alike, he founded Command Linux to share the practical knowledge he wished he had when starting out. He oversees content strategy and contributes guides on server management, automation, and security.