Proseguito coi segnali, inseriti i tipi di sistema nell'indice
[gapil.git] / signal.tex
index 98e476eb52ef57e99ef2390f23b4b12bfd916482..3784e17d2db656863ece8eefae69096f810d5277 100644 (file)
@@ -883,11 +883,11 @@ con il precedente prototipo si pu
 \begin{verbatim}
     typedef void (* sighandler_t)(int) 
 \end{verbatim}
-e cioè un puntatore ad una funzione \type{void} (cioè senza valore di ritorno)
-e che prende un argomento di tipo \type{int}.\footnote{si devono usare le
+e cioè un puntatore ad una funzione \ctyp{void} (cioè senza valore di ritorno)
+e che prende un argomento di tipo \ctyp{int}.\footnote{si devono usare le
   parentesi intorno al nome della funzione per via delle precedenze degli
   operatori del C, senza di esse si sarebbe definita una funzione che ritorna
-  un puntatore a \type{void} e non un puntatore ad una funzione \type{void}.}
+  un puntatore a \ctyp{void} e non un puntatore ad una funzione \ctyp{void}.}
 La funzione \func{signal} quindi restituisce e prende come secondo argomento
 un puntatore a una funzione di questo tipo, che è appunto il manipolatore del
 segnale.
@@ -1617,15 +1617,25 @@ motivo che occorrono funzioni pi
 permettano di gestire i segnali in maniera più completa.
 
 
+\subsection{I \textit{signal set}}
+\label{sec:sig_sigset}
+
+Come evidenziato nel paragrafo precedente, le funzioni di gestione dei segnali
+dei primi Unix, nate con la semantica inaffidabile, hanno dei limiti non
+superabili; in particolare non è prevista nessuna funzione che permetta di
+gestire correttamente i segnali pendenti e bloccati. 
+
+Per questo motivo lo standard POSIX, insieme alla nuova semantica dei segnali
+ha introdotto una interfaccia di gestione completamente nuova, che permette un
+controllo molto più dettagliato. In particolare lo standard ha introdotto un
+nuovo tipo di dato \type{sigset\_t}.
 
 \subsection{La funzione \func{sigaction}}
 \label{sec:sig_sigaction}
 
-Come evidenziato nel paragrafo precedente, le funzioni di gestione dei segnali
-dei primi Unix, hanno dei limiti non superabili; per questo motivo lo standard
-POSIX ha introdotto una interfaccia di gestione completamente nuova, che
-permette un controllo molto più dettagliato. La funzione principale di questa
-nuova interfaccia è \func{sigaction}; il cui prototipo è:
+
+La funzione principale di questa nuova interfaccia è \func{sigaction}; il cui
+prototipo è:
 
 \begin{prototype}{signal.h}{int sigaction(int signum, const struct sigaction
     *act, struct sigaction *oldact)} 
@@ -1683,9 +1693,6 @@ struct sigaction {
 \end{figure}
 
 
-\subsection{I \textit{signal set}}
-\label{sec:sig_sigset}
-
 
 \subsection{Le funzioni \func{sigpending} e \func{sigsuspend}}
 \label{sec:sig_sigpending}