projects
/
gapil.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Varie correzioni da Fabio Rossi, e relative aggiunte nei ringrazimenti per
[gapil.git]
/
signal.tex
diff --git
a/signal.tex
b/signal.tex
index 2e24f3653f104d5d55f977095553a4fed6bf5cd9..3adaee33b9f00e05307f202e53e70a206cf49a1d 100644
(file)
--- a/
signal.tex
+++ b/
signal.tex
@@
-279,7
+279,7
@@
di identificarli, e le funzioni che ne stampano la descrizione.
Ciascun segnale è identificato rispetto al sistema da un numero, ma l'uso
diretto di questo numero da parte dei programmi è da evitare, in quanto esso
Ciascun segnale è identificato rispetto al sistema da un numero, ma l'uso
diretto di questo numero da parte dei programmi è da evitare, in quanto esso
-può variare a seconda dell'implementazione del sistema, e nel caso
s
i Linux,
+può variare a seconda dell'implementazione del sistema, e nel caso
d
i Linux,
anche a seconda dell'architettura hardware.
Per questo motivo ad ogni segnale viene associato un nome, definendo con una
macro di preprocessore una costante uguale al suddetto numero. Sono questi
anche a seconda dell'architettura hardware.
Per questo motivo ad ogni segnale viene associato un nome, definendo con una
macro di preprocessore una costante uguale al suddetto numero. Sono questi
@@
-512,8
+512,8
@@
segnali sono:
interruzione per il programma. È quello che viene generato di default dal
comando \cmd{kill} o dall'invio sul terminale del carattere di controllo
INTR (interrupt, generato dalla sequenza \cmd{C-c}).
interruzione per il programma. È quello che viene generato di default dal
comando \cmd{kill} o dall'invio sul terminale del carattere di controllo
INTR (interrupt, generato dalla sequenza \cmd{C-c}).
-\item[\const{SIGQUIT}] È analogo a \const{SIGINT} con la differenz
e
che è
- controllato da un
'
altro carattere di controllo, QUIT, corrispondente alla
+\item[\const{SIGQUIT}] È analogo a \const{SIGINT} con la differenz
a
che è
+ controllato da un
altro carattere di controllo, QUIT, corrispondente alla
sequenza \verb|C-\|. A differenza del precedente l'azione predefinita, oltre
alla terminazione del processo, comporta anche la creazione di un core dump.
sequenza \verb|C-\|. A differenza del precedente l'azione predefinita, oltre
alla terminazione del processo, comporta anche la creazione di un core dump.
@@
-890,7
+890,7
@@
Il numero di segnale passato in \param{signum} pu
direttamente con una delle costanti definite in sez.~\ref{sec:sig_standard}. Il
gestore \param{handler} invece, oltre all'indirizzo della funzione da chiamare
all'occorrenza del segnale, può assumere anche i due valori costanti
direttamente con una delle costanti definite in sez.~\ref{sec:sig_standard}. Il
gestore \param{handler} invece, oltre all'indirizzo della funzione da chiamare
all'occorrenza del segnale, può assumere anche i due valori costanti
-\const{SIG\_IGN} con cui si dice ignorare il segnale e \const{SIG\_DFL} per
+\const{SIG\_IGN} con cui si dice
di
ignorare il segnale e \const{SIG\_DFL} per
reinstallare l'azione predefinita.\footnote{si ricordi però che i due segnali
\const{SIGKILL} e \const{SIGSTOP} non possono essere né ignorati né
intercettati; l'uso di \const{SIG\_IGN} per questi segnali non ha alcun
reinstallare l'azione predefinita.\footnote{si ricordi però che i due segnali
\const{SIGKILL} e \const{SIGSTOP} non possono essere né ignorati né
intercettati; l'uso di \const{SIG\_IGN} per questi segnali non ha alcun
@@
-1077,7
+1077,7
@@
questo pu
La funzione inoltre ritorna il numero di secondi rimanenti all'invio
dell'allarme programmato in precedenza. In questo modo è possibile controllare
La funzione inoltre ritorna il numero di secondi rimanenti all'invio
dell'allarme programmato in precedenza. In questo modo è possibile controllare
-se non si è cancellato un precedente allarme e
d
predisporre eventuali misure
+se non si è cancellato un precedente allarme e predisporre eventuali misure
che permettano di gestire il caso in cui servono più interruzioni.
In sez.~\ref{sec:sys_unix_time} abbiamo visto che ad ogni processo sono
che permettano di gestire il caso in cui servono più interruzioni.
In sez.~\ref{sec:sys_unix_time} abbiamo visto che ad ogni processo sono
@@
-1112,7
+1112,7
@@
suo prototipo
itimerval *value, struct itimerval *ovalue)}
Predispone l'invio di un segnale di allarme alla scadenza dell'intervallo
itimerval *value, struct itimerval *ovalue)}
Predispone l'invio di un segnale di allarme alla scadenza dell'intervallo
- \param{value} sul timer specificato da \
func
{which}.
+ \param{value} sul timer specificato da \
param
{which}.
\bodydesc{La funzione restituisce 0 in caso di successo e -1 in caso di
errore, nel qual caso \var{errno} assumerà uno dei valori \errval{EINVAL} o
\bodydesc{La funzione restituisce 0 in caso di successo e -1 in caso di
errore, nel qual caso \var{errno} assumerà uno dei valori \errval{EINVAL} o
@@
-1208,7
+1208,7
@@
valore corrente di un timer senza modificarlo,
\begin{prototype}{sys/time.h}{int getitimer(int which, struct
itimerval *value)}
\begin{prototype}{sys/time.h}{int getitimer(int which, struct
itimerval *value)}
- Legge in \param{value} il valore del timer specificato da \
func
{which}.
+ Legge in \param{value} il valore del timer specificato da \
param
{which}.
\bodydesc{La funzione restituisce 0 in caso di successo e -1 in caso di
errore e restituisce gli stessi errori di \func{getitimer}}
\bodydesc{La funzione restituisce 0 in caso di successo e -1 in caso di
errore e restituisce gli stessi errori di \func{getitimer}}
@@
-1240,7
+1240,7
@@
il processo non viene terminato direttamente dal gestore sia la stessa
\func{abort} a farlo al ritorno dello stesso. Inoltre, sempre seguendo lo
standard POSIX, prima della terminazione tutti i file aperti e gli stream
saranno chiusi ed i buffer scaricati su disco. Non verranno invece eseguite le
\func{abort} a farlo al ritorno dello stesso. Inoltre, sempre seguendo lo
standard POSIX, prima della terminazione tutti i file aperti e gli stream
saranno chiusi ed i buffer scaricati su disco. Non verranno invece eseguite le
-eventuali funzioni registrate con \func{at
\_
exit} e \func{on\_exit}.
+eventuali funzioni registrate con \func{atexit} e \func{on\_exit}.
\subsection{Le funzioni di pausa e attesa}
\subsection{Le funzioni di pausa e attesa}
@@
-1397,12
+1397,6
@@
di sez.~\ref{sec:proc_termination}, invocando \cmd{forktest} con l'opzione
gestore di \const{SIGCHLD}) potremo verificare che non si ha più la creazione
di zombie\index{zombie}.
gestore di \const{SIGCHLD}) potremo verificare che non si ha più la creazione
di zombie\index{zombie}.
-% è pertanto
-% naturale usare un esempio che ci permette di concludere la trattazione della
-% terminazione dei processi.
-% In questo caso si è tratterà di illustrare un esempio relativo ad un
-% gestore per che è previsto ritornare,
-
\begin{figure}[!htb]
\footnotesize \centering
\begin{minipage}[c]{15cm}
\begin{figure}[!htb]
\footnotesize \centering
\begin{minipage}[c]{15cm}
@@
-1845,7
+1839,7
@@
sempre il caso di evitare l'uso di \func{signal} a favore di \func{sigaction}.
\includecodesample{listati/Signal.c}
\end{minipage}
\normalsize
\includecodesample{listati/Signal.c}
\end{minipage}
\normalsize
- \caption{La funzione \func
d
{Signal}, equivalente a \func{signal}, definita
+ \caption{La funzione \func{Signal}, equivalente a \func{signal}, definita
attraverso \func{sigaction}.}
\label{fig:sig_Signal_code}
\end{figure}
attraverso \func{sigaction}.}
\label{fig:sig_Signal_code}
\end{figure}
@@
-1894,7
+1888,7
@@
Uno dei problemi evidenziatisi con l'esempio di fig.~\ref{fig:sig_event_wrong}
è che in molti casi è necessario proteggere delle sezioni di codice (nel caso
in questione la sezione fra il controllo e la eventuale cancellazione del flag
che testimoniava l'avvenuta occorrenza del segnale) in modo da essere sicuri
è che in molti casi è necessario proteggere delle sezioni di codice (nel caso
in questione la sezione fra il controllo e la eventuale cancellazione del flag
che testimoniava l'avvenuta occorrenza del segnale) in modo da essere sicuri
-che essi siano eseguit
i
senza interruzioni.
+che essi siano eseguit
e
senza interruzioni.
Le operazioni più semplici, come l'assegnazione o il controllo di una
variabile (per essere sicuri si può usare il tipo \type{sig\_atomic\_t}) di
Le operazioni più semplici, come l'assegnazione o il controllo di una
variabile (per essere sicuri si può usare il tipo \type{sig\_atomic\_t}) di
@@
-2333,7
+2327,7
@@
funzione, \funcd{sigqueue}, il cui prototipo
Il comportamento della funzione è analogo a quello di \func{kill}, ed i
privilegi occorrenti ad inviare il segnale ad un determinato processo sono gli
Il comportamento della funzione è analogo a quello di \func{kill}, ed i
privilegi occorrenti ad inviare il segnale ad un determinato processo sono gli
-stessi; un valore nullo di \
func
{signo} permette di verificare le condizioni
+stessi; un valore nullo di \
param
{signo} permette di verificare le condizioni
di errore senza inviare nessun segnale.
Se il segnale è bloccato la funzione ritorna immediatamente, se si è
di errore senza inviare nessun segnale.
Se il segnale è bloccato la funzione ritorna immediatamente, se si è