per \var{sigev\_notify}, \const{SIGALRM} per \var{sigev\_signo} e
l'identificatore del timer come valore per \var{sigev\_value.sival\_int}.
-
Il terzo argomento deve essere l'indirizzo di una variabile di tipo
\type{timer\_t} dove sarà scritto l'identificativo associato al timer appena
creato, da usare in tutte le successive funzioni di gestione. Una volta creato
Arma o disarma il timer POSIX.
- \bodydesc{La funzione restituisce 0 in caso di successo e $-1$
- in caso di errore, nel qual caso \var{errno} assumerà
+ \bodydesc{La funzione restituisce 0 in caso di successo e $-1$ in caso di
errore, nel qual caso \var{errno} assumerà uno dei seguenti valori:
\begin{errlist}
\item[\errcode{EINVAL}] all'interno di \param{new\_value.value} si è
programma che riceve l'allarme su un eventuale numero di scadenze che sono
passate prima della ricezione della notifica dell'allarme.
-
+É infatti possibile, qualunque sia il meccanismo di notifica scelto, che
+quest'ultima venga ricevuta dopo che il timer è scaduto più di una
+volta.\footnote{specialmente se si imposta un timer con una ripetizione a
+ frequenza elevata.} Nel caso dell'uso di un segnale infatti il sistema mette
+in coda un solo segnale per timer,\footnote{questo indipendentemente che si
+ tratti di un segnale ordinario o \textit{real-time}; per questi ultimi
+ sarebbe anche possibile inviare un segnale per ogni scadenza, questo però
+ non viene fatto per evitare il rischio, tutt'altro che remoto, di riempire
+ la coda.} e se il sistema è sotto carico o se il segnale è bloccato, prima
+della sua ricezione può passare un intervallo di tempo sufficientemente lungo
+ad avere scadenze multiple, e lo stesso può accadere anche se si usa un
+\textit{thread}.
+
+Per questo motivo il gestore del segnale o il \textit{thread} di notifica può
+ottenere una indicazione di quante volte il time è scaduto utilizzando la
+fuzione \funcd{timer\_getoverrun}, il cui prototipo è:
+\begin{functions}
+ \headdecl{time.h}
+
+ \funcdecl{int timer\_getoverrun(timer\_t timerid)}
+
+ Ottiene il numero di scadenze di un timer POSIX.
+
+ \bodydesc{La funzione restituisce il numero di scadenze di un timer (anche 0
+ se non ve ne sono) in caso di successo e $-1$ in caso di errore, nel qual
+ caso \var{errno} assumerà il valore:
+ \begin{errlist}
+ \item[\errcode{EINVAL}] \param{timerid} non indica un timer valido.
+ \end{errlist}
+}
+\end{functions}