Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ pthread_attr_setdetachstate(3) — Tru64 UNIX 5.0a

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

pthread_attr_init(3)

pthread_attr_getdetachstate(3)

pthread_create(3)

pthread_join(3)

pthread_attr_setdetachstate(3)  —  Subroutines

NAME

pthread_attr_setdetachstate − Changes the detachstate attribute in the specified thread attributes object. 

LIBRARY

DECthreads POSIX 1003.1c Library (libpthread.so)

SYNOPSIS

#include <pthread.h>

int pthread_attr_setdetachstate(
                   pthread_attr_t  ∗attr,
                   int             detachstate);

STANDARDS

Interfaces documented on this reference page conform to industry standards as follows:

IEEE Std 1003.1c-1995, POSIX System Application Program Interface

PARAMETERS

attrThread attributes object to be modified. 

detachstateNew value for the detachstate attribute.  Valid values are as follows:

PTHREAD_CREATE_JOINABLE
This the default value.  Threads are created in "undetached" state.

PTHREAD_CREATE_DETACHED
The created thread is detached immediately, before it begins running.

DESCRIPTION

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 that is returned by the pthread_create(3) routine) for a detached thread because the thread might terminate asynchronously, and a 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, DECthreads retains the state of that thread to allow another thread to join with it.  If the thread is detached before it completes execution, DECthreads 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, create the thread initially detached. 

RETURN VALUES

If an error condition occurs, this routine returns an integer value indicating the type of error.  Possible return values are as follows:

0Successful completion.  The detached state attribute is returned in detachstate. 

[EINVAL]The value specified by the attr argument is not a valid thread attributes object or the detachstate argument is invalid. 

ERRORS

None

RELATED INFORMATION

Functions: pthread_attr_init(3), pthread_attr_getdetachstate(3), pthread_create(3), pthread_join(3)

Manuals: Guide to DECthreads and Programmer’s Guide
 
 

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026