PTHREAD_ATTR_GETDETACHSTATE(3) | Library Functions Manual | PTHREAD_ATTR_GETDETACHSTATE(3)

# NAME

`pthread_attr_getdetachstate`, `pthread_attr_setdetachstate` —
get and set the “detach state” attribute

# LIBRARY

POSIX Threads Library (libpthread, -lpthread)

# SYNOPSIS

`#include <pthread.h>`

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

int
`pthread_attr_setdetachstate`(pthread_attr_t *attr, int detachstate);

# DESCRIPTION

The attribute parameters for the `pthread_attr_getdetachstate`() and `pthread_attr_setdetachstate`() functions are mutually exclusive and must be one of:

`PTHREAD_CREATE_JOINABLE`
  The threads must explicitly be waited for using the pthread_join(3) function once they exit for their status to be received and their resources to be freed. This is the default.
`PTHREAD_CREATE_DETACHED`
  The thread's resources will automatically be freed once the thread exits, and the thread will not be joined.

If the thread is created as detached, it is an error to use the thread ID with pthread_detach(3) or pthread_join(3).

# RETURN VALUES

If successful, these functions return 0. Otherwise, an error number is returned to indicate the error.

# ERRORS

No errors are defined for `pthread_attr_getdetachstate`().

The `pthread_attr_setdetachstate`() function should fail if:

[`EINVAL`]
  The value specified by detachstate is invalid.

# SEE ALSO

pthread_attr(3), pthread_detach(3), pthread_join(3)

# STANDARDS

Both functions conform to IEEE Std 1003.1-2001 (“POSIX.1”).

July 9, 2010 | NetBSD 9.3