X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=signal.tex;h=4b5ff406b275d30a37c3826d17bf5b8e1b09fd2d;hp=c5b2282be53a7d06d9607b827a7a52711f37f77c;hb=66765a9be9a61085dd00abd92d99a24b23dc844b;hpb=8f0266fc964bcdf2aa8d7791a24f05a0eda77556 diff --git a/signal.tex b/signal.tex index c5b2282..4b5ff40 100644 --- a/signal.tex +++ b/signal.tex @@ -200,7 +200,7 @@ anche al successivo del valore numerico assegnato all'ultimo segnale definito. \subsubsection{Segnali di errore di programma} Questi segnali sono generati quando il sistema, o in certi casi direttamente -l'hardware (come per i page fault non valildi) rileva un qualche errore +l'hardware (come per i page fault non validi) rileva un qualche errore insanabile nel programma in esecuzione. In generale la generazione di questi segnali significa che il programma ha dei gravi problemi (ad esempio ha dereferenziato un puntatore non valido o ha eseguito una operazione aritmetica @@ -233,14 +233,14 @@ Questi segnali sono: % aritmetiche e richiede che esse siano notificate. \item \texttt{SIGILL} Il nome deriva da \textit{illegal instruction}, significa che il programma sta cercando di eseguire una istruzione - privilegiata od inesistente, in generale del codice illegale. Poiché il + privilegiata o inesistente, in generale del codice illegale. Poiché il compilatore del C genera del codice valido si ottiene questo segnale se il - file eseguibile è corrotto o si stanno cercando di eseguire dei - dati. Quest'ultimo caso può accadere quando si passa un puntatore sbagliato - al posto di un puntatore a funzione, o si eccede la scrittura di un array di + file eseguibile è corrotto o si stanno cercando di eseguire dei dati. + Quest'ultimo caso può accadere quando si passa un puntatore sbagliato al + posto di un puntatore a funzione, o si eccede la scrittura di un vettore di una variabile locale, andando a corrompere lo stack. Lo stesso segnale viene - generato in caso di overflow dello stack o di problemi nell'esecuzione di - di un signal handler. + generato in caso di overflow dello stack o di problemi nell'esecuzione di di + un signal handler. \item \texttt{SIGSEGV} Il nome deriva da \textit{segment violation}, e significa che il programma sta cercando di leggere o scrivere in una zona di @@ -249,7 +249,7 @@ Questi segnali sono: accorge dell'errore ed il kernel genera il segnale. È tipico ottenere questo segnale dereferenziando un puntatore nullo o non - inizializzatoo leggendo al di la della fine di un vettore. + inizializzato leggendo al di la della fine di un vettore. \item \texttt{SIGBUS} \item \texttt{SIGABRT}