Risistemazione finale dei controlli ortografici...
[gapil.git] / signal.tex
index 669936ec4507df9e1595633d5fd668e451f8212d..b4086ed8d1661661fd84c01e8021d9bd1740840b 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{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}.        \\
     \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}
 
 \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}.
 
 \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. 
 
   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).  
 
 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 è
 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.
 
 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 è:
 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 è:
@@ -1583,10 +1585,9 @@ relative azioni conseguenti (\texttt{\small 6-11}).
 Questo è il tipico esempio di caso, già citato in
 sez.~\ref{sec:proc_race_cond}, in cui si genera una \itindex{race~condition}
 \textit{race condition}; infatti, in una situazione in cui un segnale è già
 Questo è il tipico esempio di caso, già citato in
 sez.~\ref{sec:proc_race_cond}, in cui si genera una \itindex{race~condition}
 \textit{race condition}; infatti, in una situazione in cui un segnale è già
-arrivato (e \var{flag} è già ad 1) se un altro segnale segnale arriva
-immediatamente dopo l'esecuzione del controllo (\texttt{\small 6}) ma prima
-della cancellazione del flag (\texttt{\small 7}), la sua occorrenza sarà
-perduta.
+arrivato (e \var{flag} è già ad 1) se un altro segnale arriva immediatamente
+dopo l'esecuzione del controllo (\texttt{\small 6}) ma prima della
+cancellazione del flag (\texttt{\small 7}), la sua occorrenza sarà perduta.
 
 Questi esempi ci mostrano che per una gestione effettiva dei segnali occorrono
 delle funzioni più sofisticate di quelle finora illustrate, queste hanno la
 
 Questi esempi ci mostrano che per una gestione effettiva dei segnali occorrono
 delle funzioni più sofisticate di quelle finora illustrate, queste hanno la
@@ -2322,7 +2323,7 @@ Tratteremo in questa ultima sezione alcune funzionalit
 segnali ed in generale ai meccanismi di notifica, a partire dalla funzioni
 introdotte per la gestione dei cosiddetti ``\textsl{segnali real-time}'', alla
 gestione avanzata delle temporizzazioni e le nuove interfacce per la gestione
 segnali ed in generale ai meccanismi di notifica, a partire dalla funzioni
 introdotte per la gestione dei cosiddetti ``\textsl{segnali real-time}'', alla
 gestione avanzata delle temporizzazioni e le nuove interfacce per la gestione
-di segnali ed eventi attraverso l'uso di filedescriptor.
+di segnali ed eventi attraverso l'uso di file descriptor.
 
 \subsection{I segnali real-time}
 \label{sec:sig_real_time}
 
 \subsection{I segnali real-time}
 \label{sec:sig_real_time}
@@ -2563,16 +2564,22 @@ dedicato alla gestione, che potrebbe riceverlo fra due chiamate successive.
 \subsection{La gestione avanzata delle temporizzazioni}
 \label{sec:sig_timer_adv}
 
 \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}
 \label{sec:sig_signalfd_eventfd}
 
 
 
 
 \subsection{Le interfacce per la notifica attraverso i file descriptor}
 \label{sec:sig_signalfd_eventfd}
 
 
-% TODO trattare qui eventfd signalfd e timerfd introdotte con il 2.6.22
+% TODO trattare qui eventfd signalfd e timerfd introdotte con il 2.6.22 
+% timerfd è stata tolta nel 2.6.23 e rifatta per bene nel 2.6.25
 % vedi: http://lwn.net/Articles/233462/
 %       http://lwn.net/Articles/245533/
 % vedi: http://lwn.net/Articles/233462/
 %       http://lwn.net/Articles/245533/
+%       http://lwn.net/Articles/267331/
+
+
 
 
 % LocalWords:  kernel POSIX timer shell control ctrl kill raise signal handler
 
 
 % LocalWords:  kernel POSIX timer shell control ctrl kill raise signal handler
@@ -2614,10 +2621,10 @@ dedicato alla gestione, che potrebbe riceverlo fra due chiamate successive.
 % LocalWords:  getsockname getsockopt getuid listen lseek lstat mkdir mkfifo
 % LocalWords:  pathconf poll posix pselect read readlink recv recvfrom recvmsg
 % LocalWords:  rename rmdir select send sendmsg sendto setgid setpgid setsid
 % LocalWords:  getsockname getsockopt getuid listen lseek lstat mkdir mkfifo
 % LocalWords:  pathconf poll posix pselect read readlink recv recvfrom recvmsg
 % LocalWords:  rename rmdir select send sendmsg sendto setgid setpgid setsid
-% LocalWords:  setsockopt setuid shutdown sigpause socketpair stat symlink
+% LocalWords:  setsockopt setuid shutdown sigpause socketpair stat symlink page
 % LocalWords:  sysconf tcdrain tcflow tcflush tcgetattr tcgetgrp tcsendbreak
 % LocalWords:  tcsetattr tcsetpgrp getoverrun times umask uname unlink utime
 % LocalWords:  sysconf tcdrain tcflow tcflush tcgetattr tcgetgrp tcsendbreak
 % LocalWords:  tcsetattr tcsetpgrp getoverrun times umask uname unlink utime
-% LocalWords:  write sival
+% LocalWords:  write sival SIVGTALRM NOCLDWAIT
 
 
 %%% Local Variables: 
 
 
 %%% Local Variables: