Si prosegue con nanosleep ...
authorSimone Piccardi <piccardi@gnulinux.it>
Fri, 8 Mar 2002 20:02:00 +0000 (20:02 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Fri, 8 Mar 2002 20:02:00 +0000 (20:02 +0000)
signal.tex

index 4fbe0b2b94343d61b59caf03f05b40be3b535140..eb939d9e8578d8c1f60a6086f91bdf35f9c32f24 100644 (file)
@@ -1298,17 +1298,24 @@ prototipo 
     timespec *rem)}
   
   Pone il processo in stato di sleep per il tempo specificato da \param{req}.
+  In caso di interruzione restituisce il tempo restante in \param{rem}.
   
   \bodydesc{La funzione restituisce zero se l'attesa viene completata, o -1 in
-    caso di errore, nel qual caso \var{errno} è settata a \macro{EINVAL} o
-    \macro{EINTR}.}
+    caso di errore, nel qual caso \var{errno} è settata a 
+    \begin{errlist}
+    \item[\macro{EINVAL}] si è specificato un numero di secondi negativo o un
+      numero di nanosecondi maggiore di 999.999.999.
+    \item[\macro{EINTR}] la funzione è stata interrotta da un segnale.
+    \end{errlist}}
 \end{prototype}
 
 Lo standard richiede che la funzione sia implementata in maniera del tutto
-indipendente da \func{alarm}\footnote{nel caso di Linux direttamente
-  attraverso il timer del kernel} e sia utilizzabile senza interferenze con
-l'uso di \macro{SIGALRM}.
-
+indipendente da \func{alarm}\footnote{nel caso di Linux questo è fatto
+  utilizzando direttamente il timer del kernel.} e sia utilizzabile senza
+interferenze con l'uso di \macro{SIGALRM}. La funzione prende come parametri
+delle strutture di tipo \var{timespec}, la cui definizione è riportata in 
+\figref{fig:sig_timespec_def}, che permettono di specificare un tempo con una
+precisione (teorica) fino al nanosecondo. 
 
 \begin{figure}[!htb]
   \footnotesize \centering
@@ -1323,9 +1330,10 @@ struct timespec
   \end{minipage} 
   \normalsize 
   \caption{La struttura \var{timespec} di \func{nanosleep}.} 
-  \label{fig:sig_alarm_def}
+  \label{fig:sig_timespec_def}
 \end{figure}
 
+La