X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=signal.tex;h=072b1d1edeaf638aef100fa2e141f3b3b5c7892c;hp=a73b7fc05867970f483837247d229d7d1728f9f5;hb=4dba8f3a359cb208f052c21530a52c4f982a8145;hpb=e20a546af590a50e7ac47f68f6c7d4648bb4f31a diff --git a/signal.tex b/signal.tex index a73b7fc..072b1d1 100644 --- a/signal.tex +++ b/signal.tex @@ -12,6 +12,8 @@ anche essere usati come forma elementare di comunicazione fra processi (ad esempio vengono usati per il controllo di sessione), per notificare eventi (come la terminazione di un processo figlio), etc. + + \section{I concetti base} \label{sec:sig_base} @@ -453,7 +455,7 @@ La ragione per cui pu programma può dover eseguire una serie di azioni di pulizia prima di terminare, come salvare informazioni sullo stato in cui si trova, cancellare file temporanei, o ripristinare delle condizioni alterate durante il -funzionamento (tipi il modo del terminale o i settaggi di una qualche +funzionamento (come il modo del terminale o i settaggi di una qualche periferica). L'azione di default di questi segnali è di terminare il processo, questi @@ -489,10 +491,10 @@ segnali sono: Se un processo non risponde a nessun altro segnale \macro{SIGKILL} ne causa sempre la terminazione (in effetti il fallimento della terminazione di un - processo da parte di \macro{SIGKILL} costituirebbe un funzionamento del + processo da parte di \macro{SIGKILL} costituirebbe un malfunzionamento del kernel). Talvolta è il sistema stesso che può generare questo segnale quando per condizioni particolari il processo non può più essere eseguito neanche - per eseguire il manipolatore. + per eseguire un manipolatore. \item[\macro{SIGHUP}] Il nome sta per \textit{hang-up}. Segnala che il terminale dell'utente si è disconnesso (ad esempio perché si è interrotta la rete). Viene usato anche per riportare la terminazione del processo di @@ -633,7 +635,7 @@ segnali sono: Raccogliamo qui infine usa serie di segnali che hanno scopi differenti non classificabili in maniera omogenea. Questi segnali sono: \begin{basedescript}{\desclabelwidth{2.0cm}} -\item[\macro{SIGUSR1}] e \macro{SIGUSR2} Sono due segnali a disposizione +\item[\macro{SIGUSR1} e \macro{SIGUSR2}] Sono due segnali a disposizione dell'utente che li può usare per quello che vuole. Possono essere utili per implementare una comunicazione elementare fra processi diversi, o per eseguire a richiesta una operazione utilizzando un manipolatore. L'azione di @@ -670,7 +672,7 @@ contenuto, che resta valido solo fino alla successiva chiamata di necessario copiarlo. La seconda funzione deriva da BSD ed è analoga alla funzione \func{perror} -descritta in \secref{sec:intro_strerror}. +descritta in \secref{sec:sys_strerror}. \section{La gestione dei segnali} @@ -705,8 +707,8 @@ comportamento, pur mantenendone immutato il prototipo\footnote{in realt Installa una nuova funzione di gestione (manipolatore) per il segnale \param{signum}, usando il manipolatore \param{handler}. - La funzione ritorna il precedente manipolatore in caso di successo o - \macro{SIG\_ERR} in caso di errore. + \bodydesc{La funzione ritorna il precedente manipolatore in caso di successo + o \macro{SIG\_ERR} in caso di errore.} \end{prototype} In questa definizione si è usato il tipo \type{sighandler\_t} che è una