Una lunga serie di modifiche per tenere conto della riorganizzazione della
[gapil.git] / signal.tex
index 2fa13ad1996fd691acc665f9ce07d03802fe12ee..c426986c6c029892481a0684bbf7edf65ef65582 100644 (file)
@@ -1,6 +1,6 @@
 %% signal.tex
 %%
-%% Copyright (C) 2000-2002 Simone Piccardi.  Permission is granted to
+%% Copyright (C) 2000-2003 Simone Piccardi.  Permission is granted to
 %% copy, distribute and/or modify this document under the terms of the GNU Free
 %% Documentation License, Version 1.1 or any later version published by the
 %% Free Software Foundation; with the Invariant Sections being "Prefazione",
@@ -584,8 +584,8 @@ L'azione predefinita 
   questo può essere usato anche per i file, posto che la \func{fcntl} abbia
   avuto successo.
 \item[\const{SIGURG}] Questo segnale è inviato quando arrivano dei dati
-  urgenti o \textit{out of band} su di un socket\index{socket}; per maggiori
-  dettagli al proposito si veda \secref{sec:xxx_urgent_data}.
+  urgenti o \textit{out-of-band} su di un socket\index{socket}; per maggiori
+  dettagli al proposito si veda \secref{sec:TCP_urgent_data}.
 \item[\const{SIGPOLL}] Questo segnale è equivalente a \const{SIGIO}, è
   definito solo per compatibilità con i sistemi System V.
 \end{basedescript}
@@ -651,13 +651,13 @@ resto del sistema.
 L'azione predefinita di questi segnali è di terminare il processo, questi
 segnali sono:
 \begin{basedescript}{\desclabelwidth{2.0cm}}
-\item[\const{SIGPIPE}] Sta per \textit{Broken pipe}. Se si usano delle pipe o
-  delle FIFO è necessario che, prima che un processo inizi a scrivere su di
-  essa, un'altro abbia aperto la pipe in lettura (si veda
+\item[\const{SIGPIPE}] Sta per \textit{Broken pipe}. Se si usano delle pipe,
+  (o delle FIFO o dei socket) è necessario, prima che un processo inizi a
+  scrivere su una di esse, che un'altro l'abbia aperta in lettura (si veda
   \secref{sec:ipc_pipes}). Se il processo in lettura non è partito o è
   terminato inavvertitamente alla scrittura sulla pipe il kernel genera questo
   segnale. Se il segnale è bloccato, intercettato o ignorato la chiamata che
-  lo ha causato fallisce restituendo l'errore \errcode{EPIPE} 
+  lo ha causato fallisce, restituendo l'errore \errcode{EPIPE}.
 \item[\const{SIGLOST}] Sta per \textit{Resource lost}. Viene generato quando
   c'è un advisory lock su un file NFS, ed il server riparte dimenticando la
   situazione precedente.
@@ -781,13 +781,13 @@ programmi eseguiti in background, che altrimenti sarebbero interrotti da una
 successiva pressione di \texttt{C-c} o \texttt{C-y}.
 
 Per quanto riguarda il comportamento di tutte le altre system call si danno
-sostanzialmente due casi, a seconda che esse siano \textsl{lente}
-(\textit{slow}) o \textsl{veloci} (\textit{fast}). La gran parte di esse
-appartiene a quest'ultima categoria, che non è influenzata dall'arrivo di un
-segnale. Esse sono dette \textsl{veloci} in quanto la loro esecuzione è
-sostanzialmente immediata; la risposta al segnale viene sempre data dopo che
-la system call è stata completata, in quanto attendere per eseguire un
-gestore non comporta nessun inconveniente.
+sostanzialmente due casi, a seconda che esse siano\index{system call lente}
+\textsl{lente} (\textit{slow}) o \textsl{veloci} (\textit{fast}). La gran
+parte di esse appartiene a quest'ultima categoria, che non è influenzata
+dall'arrivo di un segnale. Esse sono dette \textsl{veloci} in quanto la loro
+esecuzione è sostanzialmente immediata; la risposta al segnale viene sempre
+data dopo che la system call è stata completata, in quanto attendere per
+eseguire un gestore non comporta nessun inconveniente.
 
 In alcuni casi però alcune system call (che per questo motivo vengono chiamate
 \textsl{lente}) possono bloccarsi indefinitamente. In questo caso non si può
@@ -1737,7 +1737,7 @@ in \tabref{tab:sig_sa_flag}.
     \const{SA\_RESTART}  & Riavvia automaticamente le \textit{slow system
                            call} quando vengono interrotte dal suddetto
                            segnale; riproduce cioè il comportamento standard
-                           di BSD.\\ 
+                           di BSD.\index{system call lente}\
     \const{SA\_NOMASK}   & Evita che il segnale corrente sia bloccato durante
                            l'esecuzione del gestore.\\
     \const{SA\_NODEFER}  & Sinonimo di \const{SA\_NOMASK}.\\
@@ -1834,8 +1834,8 @@ sempre il caso di evitare l'uso di \func{signal} a favore di \func{sigaction}.
     \includecodesample{listati/Signal.c}
   \end{minipage} 
   \normalsize 
-  \caption{Una funzione equivalente a \func{signal} definita attraverso
-    \func{sigaction}.} 
+  \caption{La funzione \funcd{Signal}, equivalente a \func{signal}, definita
+    attraverso \func{sigaction}.}
   \label{fig:sig_Signal_code}
 \end{figure}
 
@@ -2260,14 +2260,14 @@ l'I/O asincrono (vedi \secref{sec:file_asyncronous_io}) o per le code di
 messaggi POSIX (vedi \secref{sec:ipc_posix_mq}); pertanto devono essere
 inviati esplicitamente. 
 
-Inoltre per poter usufruire della capacità di restituire dei dati i relativi
-gestori devono essere installati con \func{sigaction} specificando la modalità
-\const{SA\_SIGINFO} che permette di utilizzare la forma estesa
-\var{sa\_sigaction} (vedi \secref{sec:sig_sigaction}).  In questo modo tutti i
-segnali real-time possono restituire al gestore una serie di informazioni
-aggiuntive attraverso l'argomento \struct{siginfo\_t}, la cui definizione
-abbiamo già visto in \figref{fig:sig_siginfo_t}, nella trattazione dei gestori
-in forma estesa.
+Inoltre, per poter usufruire della capacità di restituire dei dati, i relativi
+gestori devono essere installati con \func{sigaction}, specificando per
+\var{sa\_flags} la modalità \const{SA\_SIGINFO} che permette di utilizzare la
+forma estesa \var{sa\_sigaction} (vedi \secref{sec:sig_sigaction}).  In questo
+modo tutti i segnali real-time possono restituire al gestore una serie di
+informazioni aggiuntive attraverso l'argomento \struct{siginfo\_t}, la cui
+definizione abbiamo già visto in \figref{fig:sig_siginfo_t}, nella trattazione
+dei gestori in forma estesa.
 
 In particolare i campi utilizzati dai segnali real-time sono \var{si\_pid} e
 \var{si\_uid} in cui vengono memorizzati rispettivamente il \acr{pid} e