Pthread_exit
The Single UNIX ® Specification, Version 2
Copyright © 1997 The Open Group
Nome
pthread_exit - thread termination
Synopsis
#include <pthread.h> void pthread_exit(void *value_ptr);
Descrizione
La funzione pthread_exit() termina il thread chiamante e rende il valore value_ptr disponibile per qualsiasi join riuscito con il thread in terminazione. Qualsiasi gestore di pulizia di cancellazione che sia stato registrato e non ancora eseguito viene rimosso in ordine inverso rispetto a come è stato registrato e poi eseguito. Dopo che tutti i gestori di pulizia di cancellazione sono stati eseguiti, se il thread ha dati specifici per il thread, le appropriate funzioni di distruzione verranno chiamate in un ordine non specificato.
La terminazione del thread non rilascia risorse di processo visibili all'applicazione, incluse, ma non limitate a, mutex e descrittori di file, né esegue azioni di pulizia a livello di processo, incluse, ma non limitate a, chiamare eventuali routine atexit() che possono esistere.
Una chiamata implicita a pthread_exit() viene eseguita quando un thread diverso dal thread in cui main() è stato invocato per la prima volta ritorna dalla routine di inizio che è stata utilizzata per crearlo. Il valore di ritorno della funzione serve come stato di uscita del thread.
Il comportamento di pthread_exit() è indefinito se viene chiamato da un gestore di pulizia di cancellazione o da una funzione di distruzione invocata a seguito di una chiamata implicita o esplicita a pthread_exit().
Dopo che un thread è terminato, il risultato dell'accesso alle variabili locali (auto) del thread è indefinito. Pertanto, i riferimenti alle variabili locali del thread in uscita non dovrebbero essere utilizzati per il parametro value_ptr di pthread_exit().
Il processo esce con uno stato di uscita di 0 dopo che l'ultimo thread è stato terminato. Il comportamento è come se l'implementazione chiamasse exit() con un argomento zero al momento della terminazione del thread.
Valore di Ritorno
La funzione pthread_exit() non può restituire al suo chiamante.
Errori
Nessun errore è definito. La funzione pthread_exit() non restituirà un codice di errore di [EINTR].
-
Sistemi operativi - Syscall fork
-
Sistemi operativi - Syscall fprintf
-
Sistemi operativi - Syscall memcpy
-
Sistemi operativi - Syscall msgsnd