From 5c53a509c4ad415ccf5f4bf3584f310ce5dd87a9 Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Thu, 3 Sep 2020 15:17:09 +0200 Subject: [PATCH] Piccole correzioni --- signal.tex | 39 +++++++++++++++++++-------------------- 1 file changed, 19 insertions(+), 20 deletions(-) diff --git a/signal.tex b/signal.tex index 30fe617..174ca0b 100644 --- a/signal.tex +++ b/signal.tex @@ -2049,13 +2049,6 @@ sia \param{act} che \param{oldact} sono nulli la funzione può essere utilizzata per verificare che il segnale indicato sia valido per la piattaforma che si sta usando (se non lo è darà errore). -Entrambi i puntatori fanno riferimento alla struttura \struct{sigaction}, -tramite la quale si specificano tutte le caratteristiche dell'azione associata -ad un segnale. Anch'essa è descritta dallo standard POSIX.1 ed in Linux è -definita secondo quanto riportato in fig.~\ref{fig:sig_sigaction}. Il campo -\var{sa\_restorer}, non previsto dallo standard, è obsoleto e non deve essere -più usato. - \begin{figure}[!htb] \footnotesize \centering \begin{minipage}[c]{0.8\textwidth} @@ -2066,13 +2059,19 @@ più usato. \label{fig:sig_sigaction} \end{figure} +Entrambi i puntatori fanno riferimento alla struttura \struct{sigaction}, +tramite la quale si specificano tutte le caratteristiche dell'azione associata +ad un segnale. Anch'essa è descritta dallo standard POSIX.1 ed in Linux è +definita secondo quanto riportato in fig.~\ref{fig:sig_sigaction}. Il campo +\var{sa\_restorer}, non previsto dallo standard, è obsoleto e non deve essere +più usato. + Il campo \var{sa\_mask} serve ad indicare l'insieme dei segnali che devono essere bloccati durante l'esecuzione del gestore, ad essi viene comunque sempre aggiunto il segnale che ne ha causato la chiamata, a meno che non si -sia specificato con \var{sa\_flag} un comportamento diverso. Quando il -gestore ritorna comunque la maschera dei segnali bloccati (vedi -sez.~\ref{sec:sig_sigmask}) viene ripristinata al valore precedente -l'invocazione. +sia specificato con \var{sa\_flag} un comportamento diverso. Quando il gestore +ritorna la maschera dei segnali bloccati (vedi sez.~\ref{sec:sig_sigmask}) +viene comunque ripristinata al valore precedente l'invocazione. L'uso di questo campo permette ad esempio di risolvere il problema residuo dell'implementazione di \code{sleep} mostrata in @@ -2182,15 +2181,6 @@ viene sempre espresso come una costante,\footnote{le definizioni di tutti i valori possibili si trovano in \file{bits/siginfo.h}.} ed i valori possibili in questo caso sono riportati in tab.~\ref{tab:sig_si_code_generic}. -Nel caso di alcuni segnali però il valore di \var{si\_code} viene usato per -fornire una informazione specifica relativa alle motivazioni della ricezione -dello stesso; ad esempio i vari segnali di errore (\signal{SIGILL}, -\signal{SIGFPE}, \signal{SIGSEGV} e \signal{SIGBUS}) lo usano per fornire -maggiori dettagli riguardo l'errore, come il tipo di errore aritmetico, di -istruzione illecita o di violazione di memoria; mentre alcuni segnali di -controllo (\signal{SIGCHLD}, \signal{SIGTRAP} e \signal{SIGPOLL}) forniscono -altre informazioni specifiche. - \begin{table}[!htb] \footnotesize \centering @@ -2223,6 +2213,15 @@ altre informazioni specifiche. \label{tab:sig_si_code_generic} \end{table} +Nel caso di alcuni segnali però il valore di \var{si\_code} viene usato per +fornire una informazione specifica relativa alle motivazioni della ricezione +dello stesso; ad esempio i vari segnali di errore (\signal{SIGILL}, +\signal{SIGFPE}, \signal{SIGSEGV} e \signal{SIGBUS}) lo usano per fornire +maggiori dettagli riguardo l'errore, come il tipo di errore aritmetico, di +istruzione illecita o di violazione di memoria; mentre alcuni segnali di +controllo (\signal{SIGCHLD}, \signal{SIGTRAP} e \signal{SIGPOLL}) forniscono +altre informazioni specifiche. + In questo caso il valore del campo \var{si\_code} deve essere verificato nei confronti delle diverse costanti previste per ciascuno di detti segnali; dato -- 2.30.2