Risistemati un sacco di riferiementi, e la riorganizzazione della parte
[gapil.git] / signal.tex
index c1923626387899e29323bcad5b14cdbee5f67bbe..ec3bf5547afcab767eddadcd7d14a91cb477bb67 100644 (file)
@@ -1,5 +1,5 @@
 \chapter{I segnali}
-\label{sec:signals}
+\label{cha:signals}
 
 I segnali sono il primo e più semplice meccanismo di comunicazione nei
 confronti dei processi. Non portano con se nessuna informazione che non sia il
@@ -161,8 +161,6 @@ determinare quali segnali sono bloccati e quali sono pendenti.
 
 
 
-
-
 \subsubsection{Tipi di segnali}
 \label{sec:sig_types}
 
@@ -423,7 +421,9 @@ Questi segnali sono:
 \item \texttt{SIGABRT} Il segnale indica che il programma stesso ha rilevato
   un errore che viene riportato chiamando la funzione \texttt{abort} che
   genera questo segnale. 
-\item \texttt{SIGTRAP} 
+\item \texttt{SIGTRAP} È il segnale generato da un'istruzione di breakpoint o
+  dall'attivazione del tracciamento per il processo. È usato dai programmi per
+  il debugging e se un programma normale non dovrebbe ricevere questo segnale.
 \item \texttt{SIGSYS} Sta ad indicare che si è eseguta una istruzione che
   richiede l'esecuzione di una system call, ma si è fornito un codice
   sbagliato per quest'ultima.
@@ -447,11 +447,16 @@ periferica).
 L'azione di default di questi segnali è di terminare il processo, questi
 segnali sono:
 \begin{description}
-\item  \texttt{SIGTERM}
-\item  \texttt{SIGINT}
-\item  \texttt{SIGQUIT}
-\item  \texttt{SIGKILL}
-\item  \texttt{SIGHUP}
+\item \macro{SIGTERM} Questo è un segnale generico usato per causare la
+  conclusione di un programma. Al contrario di \macro{SIGKILL} può essere
+  intercettato, ignorato, bloccato. In genere lo si usa per chiedere in
+  maniera ``educata'' ad un processo di concludersi.
+\item \macro{SIGINT} E il segnale di interruzione per il programma. È quello
+  che viene generato di default dal comando \cmd{kill} o dall'invio sul
+  terminale del carattere di interrupt (generato dalla sequenza \macro{C-\\}).
+\item  \macro{SIGQUIT} 
+\item  \macro{SIGKILL}
+\item  \macro{SIGHUP}
 \end{description}
 
 \subsection{I segnali di allarme}
@@ -592,10 +597,13 @@ cio
 Il numero di segnale passato in \param{signum} segnale può essere indicato
 direttamente con una delle costanti definite in \secref{sec:sig_standard}, il
 manipolatore \param{handler} invece, oltre all'indirizzo della funzione da
-chiamare all'occorrenza del segnale, può assumere i valori costanti
-\macro{SIG\_IGN} per ignorare il segnale e \macro{SIG\_DFL} per installare
-l'azione di di default (si ricordi però che \macro{SIGKILL} e \macro{SIGSTOP}
-non possono essere ignorati né intercettati).
+chiamare all'occorrenza del segnale, può assumere anche i valori costanti
+\macro{SIG\_IGN} con cui si dice ignorare il segnale e \macro{SIG\_DFL} per
+installare l'azione di di default (si ricordi però che i due segnali
+\macro{SIGKILL} e \macro{SIGSTOP} non possono essere ignorati né
+intercettati).
 
 
+\subsection{Funzioni rientranti e default dei segnali}
+\label{sec:sig_reentrant}