Aggiornamento date copyright più TODO 5.3
[gapil.git] / thread.tex
index b39dec144846510ded49fa408de117d861b9d849..62f4dfdf7e9bc388c02835965d9a36b120d6c0d5 100644 (file)
@@ -1,6 +1,6 @@
 %% thread.tex
 %%
-%% Copyright (C) 2007-2011 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2007-2019 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Un preambolo",
@@ -105,7 +105,7 @@ Tratteremo in questa sezione l'interfaccia di programmazione con i
 stata seguita anche dalle varie implementazioni dei \textit{thread} realizzate
 su Linux, ed in particolare dalla \textit{Native Thread Posix Library} che è
 stata integrata con i kernel della serie 2.6 e che fa parte a pieno titolo
-delle \acr{glibc}.
+della \acr{glibc}.
 
 
 \subsection{Una panoramica}
@@ -116,6 +116,28 @@ delle \acr{glibc}.
 \label{sec:pthread_management}
 
 
+Benché la funzione sia utilizzabile anche con i processi, tanto che a partire
+dalla versione 2.3 della \acr{glibc} viene a sostituire \func{\_exit} (tramite
+un \textit{wrapper} che la utilizza al suo posto) per la terminazione di tutti
+i \textit{thread} di un processo si deve usare la funzione di sistema
+\func{exit\_group}, il cui prototipo è:
+
+\begin{funcproto}{
+\fhead{linux/unistd.h}
+\fdecl{void exit\_group(int status)}
+\fdesc{Termina tutti i \textit{thread} di un processo.} 
+}
+{La funzione non ha errori e pertanto non ritorna.}
+\end{funcproto}
+
+La funzione è sostanzialmente identica alla \textit{system call} \func{\_exit}
+ma a differenza di quest'ultima, che termina solo il \textit{thread}
+chiamante, termina tutti \textit{thread} del processo. 
+
+
+\section{La sincronizzazione dei \textit{thread}}
+\label{sec:pthread_sync}
+
 \subsection{I \textit{mutex}}
 \label{sec:pthread_mutex}
 
@@ -127,14 +149,19 @@ delle \acr{glibc}.
 \itindend{thread} 
 
 
+\subsection{I \textit{thread} e i segnali.}
+\label{sec:thread_signal}
+
+% TODO trattare tkill e tgkill per l'invio di segnali a thread, fare un
+% capitolo apposito su thread e segnali
+
+
+
 
 % TODO troppe cose, ma segue list di notizie correlate
 % aggiunta rt_tgsigqueueinfo con il kernel 2.6.31
 
 
-% TODO trattare tkill e tgkill per l'invio di segnali a thread, fare un
-% capitolo apposito su thread e segnali
-
 
 % LocalWords:  thread multitasking POSIX sez Posix Library kernel glibc mutex