Estratto del documento

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].

Anteprima
Vedrai una selezione di 1 pagina su 2
Sistemi operativi - Syscall pthread_exit Pag. 1
1 su 2
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher N. A. di informazioni apprese con la frequenza delle lezioni di Sistemi operativi e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli studi di Napoli Federico II o del prof Cotroneo Domenico.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community