X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=signal.tex;h=f67c571413ecd8d49d2b4108e72e3575cb33f8e8;hp=b675fdeacf09a4ba5b1cf902789ffa2dde5f6c82;hb=487b554b85cda92d10367d5af69a0355b9b2329d;hpb=6b667429ed5d78c967b88bda7ee33be7077096f5 diff --git a/signal.tex b/signal.tex index b675fde..f67c571 100644 --- a/signal.tex +++ b/signal.tex @@ -74,7 +74,7 @@ int sig_handler() \end{lstlisting} \normalsize se un secondo segnale arriva prima che il manipolatore invocato dal primo -abbia eseguito la re-installazione di se stesso il segnale può essere perso o +abbia eseguito la reinstallazione di se stesso il segnale può essere perso o causare il comportamento originale assegnato al segnale (in genere la terminazione del processo). @@ -129,7 +129,7 @@ il processo rester % Un'altra caratteristica della implementazione inaffidabile è che le chiamate % di sistema non sono fatte ripartire automaticamente quando sono interrotte da % un segnale, per questo un programma deve controllare lo stato di uscita della -% chiamata al sistema e riperterla nel caso l'errore riportato da \texttt{errno} +% chiamata al sistema e ripeterla nel caso l'errore riportato da \texttt{errno} % sia \texttt{EINTR}. Questo ci mostra ad esempio come con la semantica inaffidabile non esista una @@ -402,7 +402,7 @@ Questi segnali sono: % Per questo segnale le cose sono complicate dal fatto che possono esserci % molte diverse eccezioni che \texttt{SIGFPE} non distingue, mentre lo -% standard IEEE per le operazioni in virgola mobile definisce vaire eccezioni +% standard IEEE per le operazioni in virgola mobile definisce varie eccezioni % aritmetiche e richiede che esse siano notificate. \item[\macro{SIGILL}] Il nome deriva da \textit{illegal instruction}, @@ -425,7 +425,7 @@ Questi segnali sono: inizializzato leggendo al di la della fine di un vettore. \item[\macro{SIGBUS}] Il nome deriva da \textit{bus error}. Come \macro{SIGSEGV} questo è un segnale che viene generato di solito quando si - dereferenzia un puntatore non inzializzato, la differenza è che + dereferenzia un puntatore non inizializzato, la differenza è che \macro{SIGSEGV} indica un accesso non permesso su un indirizzo esistente (tipo fuori dallo heap o dallo stack), mentre \macro{SIGBUS} indica l'accesso ad un indirizzo non valido, come nel caso di un puntatore non @@ -453,7 +453,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 +489,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 +633,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 +670,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}