X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=signal.tex;h=2f3b75b8c002272cb102ff8d78842a5ce008d10e;hp=f0565a23a2e305ccbfbe3fa04130cad36872efa8;hb=21f68aeaebed8afa19039115dd97dde5f03caae0;hpb=f841512e0852f0162daeeacc3050d426158a14ee diff --git a/signal.tex b/signal.tex index f0565a2..2f3b75b 100644 --- a/signal.tex +++ b/signal.tex @@ -662,11 +662,11 @@ segnali sono: situazione precedente. \item[\macro{SIGXCPU}] Sta per \textit{CPU time limit exceeded}. Questo segnale è generato quando un processo eccede il limite impostato per il - tempo di CPU disponibile, vedi \secref{sec:sys_xxx}. + tempo di CPU disponibile, vedi \secref{sec:sys_resource_limit}. \item[\macro{SIGXFSZ}] Sta per \textit{File size limit exceeded}. Questo segnale è generato quando un processo tenta di estendere un file oltre le dimensioni specificate dal limite impostato per le dimensioni massime di un - file, vedi \secref{sec:sys_xxx}. + file, vedi \secref{sec:sys_resource_limit}. \end{basedescript} @@ -714,7 +714,7 @@ di \func{strsignal}. Nel caso si debba mantenere traccia del messaggio sar necessario copiarlo. La seconda funzione deriva da BSD ed è analoga alla funzione \func{perror} -descritta in \secref{sec:sys_strerror}; il suo prototipo è: +descritta sempre in \secref{sec:sys_strerror}; il suo prototipo è: \begin{prototype}{signal.h}{void psignal(int sig, const char *s)} Stampa sullo standard error un messaggio costituito dalla stringa \param{s}, seguita da due punti ed una descrizione del segnale indicato da \param{sig}. @@ -1141,12 +1141,6 @@ struct itimerval struct timeval it_interval; /* next value */ struct timeval it_value; /* current value */ }; - -struct timeval -{ - long tv_sec; /* seconds */ - long tv_usec; /* microseconds */ -}; \end{lstlisting} \end{minipage} \normalsize @@ -1336,9 +1330,9 @@ Lo standard richiede che la funzione sia implementata in maniera del tutto 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. +delle strutture di tipo \var{timespec}, la cui definizione è riportata in +\figref{fig:sys_timeval_struct}, che permettono di specificare un tempo con +una precisione (teorica) fino al nanosecondo. La funzione risolve anche il problema di proseguire l'attesa dopo l'interruzione dovuta ad un segnale; infatti in tal caso in \param{rem} viene @@ -1355,21 +1349,6 @@ sia scarico ed il processa venga immediatamente rimesso in esecuzione); per questo motivo il valore restituito in \param{rem} è sempre arrotondato al multiplo successivo di 1/\macro{HZ}. -\begin{figure}[!htb] - \footnotesize \centering - \begin{minipage}[c]{15cm} - \begin{lstlisting}[labelstep=0]{}%,frame=,indent=1cm]{} -struct timespec { - time_t tv_sec; /* seconds */ - long tv_nsec; /* nanoseconds */ -}; - \end{lstlisting} - \end{minipage} - \normalsize - \caption{La struttura \var{timespec} di \func{nanosleep}.} - \label{fig:sig_timespec_def} -\end{figure} - In realtà è possibile ottenere anche pause più precise del centesimo di secondo usando politiche di scheduling real time come \macro{SCHED\_FIFO} o \macro{SCHED\_RR}; in tal caso infatti il meccanismo di scheduling ordinario