pthread_attr_getdetachstate oder pthread_attr_setdetachstate-Subroutinen
Zweck
Legt den Wert des Attributs detachstate eines Threadattributobjekts fest und gibt diesen zurück.
Bibliothek
Threadbibliothek (libpthreads.a)
Syntax
#include <pthread.h>
int pthread_attr_setdetachstate (attr, detachstate)
pthread_attr_t *attr;
int detachstate;
int pthread_attr_getdetachstate (attr, detachstate)
const pthread_attr_t *attr;
int *detachstate;Beschreibung
Das Attribut 'detachstate' steuert, ob der Thread in einem freigegebenen Status erstellt wird. Wenn der Thread abgehängt erstellt wird, ist die Verwendung der ID des neu erstellten Threads durch die Funktion pthread_detach oder pthread_join ein Fehler.
pthread_attr_setdetachstate und pthread_attr_getdetachstatelegen das Attribut detachstate im Objekt attr fest und rufen es ab.
Das Attribut detachstate kann auf PTHREAD_CREATE_DETACHED oder PTHREAD_CREATE_JOINABLE gesetzt werden. Der Wert PTHREAD_CREATE_DETACHED bewirkt, dass alle Threads, die mit attr erstellt wurden, den Status FREIGEGEBEN haben, während die Verwendung des Werts PTHREAD_CREATE_JOINABLE dazu führt, dass alle Threads, die mit attr erstellt wurden, den Status 'joinable' haben. Der Standardwert des Attributs detachstate ist PTHREAD_CREATE_JOINABLE.
Parameter
| Element | Beschreibung |
|---|---|
| attr | Gibt das Threadattributobjekt an. |
| Ablösestatus | Zeigt, wo der Wert des Attributs 'detachstate' gespeichert wird. |
Rückgabewerte
Nach erfolgreicher Ausführung geben pthread_attr_setdetachstate und pthread_attr_getdetachstate den Wert 0zurück. Andernfalls wird eine Fehlernummer zurückgegeben, die den Fehler angibt.
Die Funktion pthread_attr_getdetachstate speichert bei erfolgreicher Ausführung den Wert des Attributs 'detachstate' im Parameter detachstate .
Fehlercodes
Die Funktion pthread_attr_setdetachstate schlägt in den folgenden Fällen fehl:
| Element | Beschreibung |
|---|---|
| EINVAL | Der Wert von detachstate war ungültig. |
Die Funktionen pthread_attr_getdetachstate und pthread_attr_setdetachstate schlagen in den folgenden Fällen fehl:
| Element | Beschreibung |
|---|---|
| EINVAL | Der Attributparameter ist ungültig. |
Diese Funktionen geben nicht den Fehlercode EINTR zurück.