+%% signal.tex
+%%
+%% Copyright (C) 2000-2002 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",
+%% with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the
+%% license is included in the section entitled "GNU Free Documentation
+%% License".
+%%
\chapter{I segnali}
\label{cha:signals}
\item[\macro{SIGINT}] Il nome sta per \textit{interrupt}. È il segnale di
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 \macro{C-c}).
+ INTR (interrupt, generato dalla sequenza \cmd{C-c}).
\item[\macro{SIGQUIT}] È analogo a \macro{SIGINT} con la differenze che è
controllato da un'altro carattere di controllo, QUIT, corrispondente alla
sequenza \verb|C-\|. A differenza del precedente l'azione predefinita, oltre
In genere esso viene generato solo per richiesta esplicita dell'utente dal
comando (o tramite la funzione) \cmd{kill}. Dato che non lo si può
intercettare è sempre meglio usarlo come ultima risorsa quando metodi meno
- brutali, come \macro{SIGTERM} o \macro{C-c} non funzionano.
+ brutali, come \macro{SIGTERM} o \cmd{C-c} non funzionano.
Se un processo non risponde a nessun altro segnale \macro{SIGKILL} ne causa
sempre la terminazione (in effetti il fallimento della terminazione di un
In \figref{fig:sig_sigchld_handl} è mostrato il codice contenente una
implementazione generica di una routine di gestione per \macro{SIGCHLD}, (che
-si trova nei sorgenti allegati nel file \file{HandSIGCHLD.c}); se ripetiamo i
-test di \secref{sec:proc_termination}, invocando \cmd{forktest} con l'opzione
+si trova nei sorgenti allegati nel file \file{SigHand.c}); se ripetiamo i test
+di \secref{sec:proc_termination}, invocando \cmd{forktest} con l'opzione
\cmd{-s} (che si limita ad effettuare l'installazione di questa funzione come
gestore di \macro{SIGCHLD}) potremo verificare che non si ha più la creazione
di zombie.
#include <sys/wait.h>
#include "macro.h"
-void HandSIGCHLD(int sig)
+void HandSigCHLD(int sig)
{
int errno_save;
int status;