X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=signal.tex;h=17101bfa58fff122f47400b4db1dd16c1e56e24d;hp=a170ba77d298bc155c78225b5ac3372da3c0dc6a;hb=d0d95bf3d4280c9b638c41b7d45e9877fb812119;hpb=2eed0ffd24ecdbe06640513fd5d3f062115a4669 diff --git a/signal.tex b/signal.tex index a170ba7..17101bf 100644 --- a/signal.tex +++ b/signal.tex @@ -68,7 +68,7 @@ dall'utente o da un altro processo) comporta l'intervento diretto da parte del kernel che causa la generazione di un particolare tipo di segnale. Quando un processo riceve un segnale, invece del normale corso del programma, -viene eseguita una azione predefinita o una apposita routine di gestione +viene eseguita una azione predefinita o una apposita funzione di gestione (quello che da qui in avanti chiameremo il \textsl{gestore} del segnale, dall'inglese \textit{signal handler}) che può essere stata specificata dall'utente (nel qual caso si dice che si \textsl{intercetta} il segnale). @@ -85,7 +85,7 @@ individuare due tipologie fondamentali di comportamento dei segnali (dette \textit{unreliable}). Nella \textsl{semantica inaffidabile} (quella implementata dalle prime -versioni di Unix) la routine di gestione del segnale specificata dall'utente +versioni di Unix) la funzione di gestione del segnale specificata dall'utente non resta attiva una volta che è stata eseguita; è perciò compito dell'utente stesso ripetere l'installazione all'interno del \textsl{gestore} del segnale, in tutti quei casi in cui si vuole che esso resti attivo. @@ -305,8 +305,8 @@ definiti in vari standard. \hline A & L'azione predefinita è terminare il processo. \\ B & L'azione predefinita è ignorare il segnale. \\ - C & L'azione predefinita è terminare il processo e scrivere un \textit{core - dump}. \\ + C & L'azione predefinita è terminare il processo e scrivere un + \itindex{core~dump} \textit{core dump}. \\ D & L'azione predefinita è fermare il processo. \\ E & Il segnale non può essere intercettato. \\ F & Il segnale non può essere ignorato.\\ @@ -525,12 +525,12 @@ segnali sono: processo, comporta anche la creazione di un \itindex{core~dump}\textit{core dump}. - In genere lo si può pensare come corrispondente ad una condizione di - errore del programma rilevata dall'utente. Per questo motivo non è opportuno - fare eseguire al gestore di questo segnale le operazioni di pulizia - normalmente previste (tipo la cancellazione di file temporanei), dato che in - certi casi esse possono eliminare informazioni utili nell'esame dei core - dump.\itindex{core~dump} + In genere lo si può pensare come corrispondente ad una condizione di errore + del programma rilevata dall'utente. Per questo motivo non è opportuno fare + eseguire al gestore di questo segnale le operazioni di pulizia normalmente + previste (tipo la cancellazione di file temporanei), dato che in certi casi + esse possono eliminare informazioni utili nell'esame dei \textit{core dump}. + \itindex{core~dump} \item[\const{SIGKILL}] Il nome è utilizzato per terminare in maniera immediata qualunque programma. Questo segnale non può essere né intercettato, né @@ -1410,7 +1410,7 @@ gestore per \const{SIGCHLD} il cui unico compito sia quello di chiamare la formazione di zombie\index{zombie}. In fig.~\ref{fig:sig_sigchld_handl} è mostrato il codice contenente una -implementazione generica di una routine di gestione per \const{SIGCHLD}, (che +implementazione generica di una funzione di gestione per \const{SIGCHLD}, (che si trova nei sorgenti allegati nel file \file{SigHand.c}); se ripetiamo i test di sez.~\ref{sec:proc_termination}, invocando \cmd{forktest} con l'opzione \cmd{-s} (che si limita ad effettuare l'installazione di questa funzione come