\func{strsignal} e \func{psignal} è quello di fare usare la variabile
\var{sys\_siglist}, che è definita in \file{signal.h} e può essere acceduta
con la dichiarazione:
\func{strsignal} e \func{psignal} è quello di fare usare la variabile
\var{sys\_siglist}, che è definita in \file{signal.h} e può essere acceduta
con la dichiarazione:
extern const char *const sys_siglist[]
\end{lstlisting}
l'array \var{sys\_siglist} contiene i puntatori alle stringhe di descrizione,
extern const char *const sys_siglist[]
\end{lstlisting}
l'array \var{sys\_siglist} contiene i puntatori alle stringhe di descrizione,
una estensione GNU, definita dalle \acr{glibc}, che permette di riscrivere il
prototipo di \func{signal} nella forma appena vista, molto più leggibile di
quanto non sia la versione originaria, che di norma è definita come:
una estensione GNU, definita dalle \acr{glibc}, che permette di riscrivere il
prototipo di \func{signal} nella forma appena vista, molto più leggibile di
quanto non sia la versione originaria, che di norma è definita come:
void (*signal(int signum, void (*handler)(int)))int)
\end{lstlisting}
questa infatti, per la poca chiarezza della sintassi del C quando si vanno a
trattare puntatori a funzioni, è molto meno comprensibile. Da un confronto
con il precedente prototipo si può dedurre la definizione di
\type{sighandler\_t} che è:
void (*signal(int signum, void (*handler)(int)))int)
\end{lstlisting}
questa infatti, per la poca chiarezza della sintassi del C quando si vanno a
trattare puntatori a funzioni, è molto meno comprensibile. Da un confronto
con il precedente prototipo si può dedurre la definizione di
\type{sighandler\_t} che è:
typedef void (* sighandler_t)(int)
\end{lstlisting}
e cioè un puntatore ad una funzione \ctyp{void} (cioè senza valore di ritorno)
typedef void (* sighandler_t)(int)
\end{lstlisting}
e cioè un puntatore ad una funzione \ctyp{void} (cioè senza valore di ritorno)
unsigned int alarm(unsigned int seconds)
{
struct itimerval old, new;
unsigned int alarm(unsigned int seconds)
{
struct itimerval old, new;