Qualche indicizzazione e dei TODO sui timer (su indicazioni di Alessio
[gapil.git] / signal.tex
index 43d2fe71eb94b68a643c3d1560c786bb3587969c..3341dae969d87ab82ed22ce395f45d56de199032 100644 (file)
@@ -390,7 +390,7 @@ momento della ricezione del segnale.
     \const{SIGTRAP}  &SL & C & Trappole per un Trace/breakpoint.             \\
     \const{SIGURG}   &SLB& B & Ricezione di una \textit{urgent condition} su 
                                un socket. \\
-    \const{SIGVTALRM}&SLB& A & Virtual alarm clock.                          \\
+    \const{SIGVTALRM}&SLB& A & Timer di esecuzione scaduto.                  \\
     \const{SIGXCPU}  &SLB& C & Ecceduto il limite sul tempo di CPU.          \\
     \const{SIGXFSZ}  &SLB& C & Ecceduto il limite sulla dimensione dei file. \\
     \const{SIGIOT}   &L  & C & IOT trap. Sinonimo di \const{SIGABRT}.        \\
@@ -563,16 +563,17 @@ segnali sono:
 \subsection{I segnali di allarme}
 \label{sec:sig_alarm}
 
-Questi segnali sono generati dalla scadenza di un timer. Il loro comportamento
-predefinito è quello di causare la terminazione del programma, ma con questi
-segnali la scelta predefinita è irrilevante, in quanto il loro uso presuppone
-sempre la necessità di un gestore.  Questi segnali sono:
+Questi segnali sono generati dalla scadenza di un timer (vedi
+sez.~\ref{sec:sig_alarm_abort}). Il loro comportamento predefinito è quello di
+causare la terminazione del programma, ma con questi segnali la scelta
+predefinita è irrilevante, in quanto il loro uso presuppone sempre la
+necessità di un gestore.  Questi segnali sono:
 \begin{basedescript}{\desclabelwidth{2.0cm}}
 \item[\const{SIGALRM}] Il nome sta per \textit{alarm}. Segnale la scadenza di
   un timer misurato sul tempo reale o sull'orologio di sistema. È normalmente
   usato dalla funzione \func{alarm}.
 
-\item[\const{SIGVTALRM}] Il nome sta per \textit{virtual alarm}. È analogo al
+\item[\const{SIVGTALRM}] Il nome sta per \textit{virtual alarm}. È analogo al
   precedente ma segnala la scadenza di un timer sul tempo di CPU usato dal
   processo. 
 
@@ -1215,6 +1216,8 @@ significa circa 10~ms). Il sistema assicura comunque che il segnale non sar
 mai generato prima della scadenza programmata (l'arrotondamento cioè è sempre
 effettuato per eccesso).  
 
+% TODO: verificare cose è successo con l'introduzione nel kernel degli htrimer
+
 Una seconda causa di potenziali ritardi è che il segnale viene generato alla
 scadenza del timer, ma poi deve essere consegnato al processo; se quest'ultimo
 è attivo (questo è sempre vero per \const{ITIMER\_VIRT}) la consegna è
@@ -1227,7 +1230,6 @@ in cui un timer scade prima che il segnale di una precedente scadenza sia
 stato consegnato; in questo caso, per il comportamento dei segnali descritto
 in sez.~\ref{sec:sig_sigchld}, un solo segnale sarà consegnato.
 
-
 Dato che sia \func{alarm} che \func{setitimer} non consentono di leggere il
 valore corrente di un timer senza modificarlo, è possibile usare la funzione
 \funcd{getitimer}, il cui prototipo è:
@@ -2562,7 +2564,9 @@ dedicato alla gestione, che potrebbe riceverlo fra due chiamate successive.
 \subsection{La gestione avanzata delle temporizzazioni}
 \label{sec:sig_timer_adv}
 
-
+% TODO trattare i Posix timer, e le fuzioni:
+% clock_getres clock_gettime clock_settime (vedi man page)
+% timer_getoverrun, timer_gettime, timer_settime, timer_create, timer_delete
 
 
 \subsection{Le interfacce per la notifica attraverso i file descriptor}
@@ -2574,6 +2578,9 @@ dedicato alla gestione, che potrebbe riceverlo fra due chiamate successive.
 %       http://lwn.net/Articles/245533/
 
 
+
+
+
 % LocalWords:  kernel POSIX timer shell control ctrl kill raise signal handler
 % LocalWords:  reliable unreliable fig race condition sez struct process table
 % LocalWords:  delivered pending scheduler sigpending l'I suspend SIGKILL wait