X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=signal.tex;fp=signal.tex;h=e932644e2b9e32662439e5761788f7fa3e9c8bef;hp=e6c75e6364accc1ff465294e9ccb2cba8492e43a;hb=cea75853940205e861aa8467e3e091e8dffd5763;hpb=87fb95cc5ce9b6ef9106c6c237c69476d12834fa diff --git a/signal.tex b/signal.tex index e6c75e6..e932644 100644 --- a/signal.tex +++ b/signal.tex @@ -3335,17 +3335,17 @@ stata inizializzata con il valore che si vuole impostare sull'orologio, mentre per \func{clock\_gettime} verrà restituito al suo interno il valore corrente dello stesso. -Si tenga presente inoltre che per eseguire un cambiamento sull'orologio -generale di sistema \const{CLOCK\_REALTIME} occorrono i privilegi -amministrativi;\footnote{ed in particolare la \textit{capability} - \const{CAP\_SYS\_TIME}.} inoltre ogni cambiamento ad esso apportato non avrà -nessun effetto sulle temporizzazioni effettuate in forma relativa, come quelle -impostate sulle quantità di \textit{process time} o per un intervallo di tempo -da trascorrere, ma solo su quelle che hanno richiesto una temporizzazione ad -un istante preciso (in termini di \textit{calendar time}). Si tenga inoltre -presente che nel caso di Linux \const{CLOCK\_REALTIME} è l'unico orologio per -cui si può effettuare una modifica, infatti nonostante lo standard preveda la -possibilità di modifiche anche per \const{CLOCK\_PROCESS\_CPUTIME\_ID} e +Per eseguire un cambiamento sull'orologio generale di sistema +\const{CLOCK\_REALTIME} occorrono i privilegi amministrativi;\footnote{ed in + particolare la \textit{capability} \const{CAP\_SYS\_TIME}.} e che ogni +cambiamento ad esso apportato non avrà nessun effetto sulle temporizzazioni +effettuate in forma relativa, come quelle impostate sulle quantità di +\textit{process time} o per un intervallo di tempo da trascorrere, ma solo su +quelle che hanno richiesto una temporizzazione ad un istante preciso (in +termini di \textit{calendar time}). Si tenga inoltre presente che nel caso di +Linux \const{CLOCK\_REALTIME} è l'unico orologio per cui si può effettuare una +modifica, infatti nonostante lo standard preveda la possibilità di modifiche +anche per \const{CLOCK\_PROCESS\_CPUTIME\_ID} e \const{CLOCK\_THREAD\_CPUTIME\_ID}, il kernel non le consente. Oltre alle due funzioni precedenti, lo standard POSIX prevede una terza @@ -3381,16 +3381,15 @@ voglia utilizzare nelle funzioni di impostazione che non corrisponda ad un multiplo intero di questa risoluzione, sarà troncato in maniera automatica. Gli orologi elencati nella seconda sezione di -tab.~\ref{tab:sig_timer_clockid_types} sono delle estensioni specifiche di -Linux, create per rispondere ad alcune esigenze specifiche, come quella di -tener conto di eventuali periodi di sospensione del sistema, e presenti solo -nelle versioni più recenti del kernel. In particolare gli ultimi due, -contraddistinti dal suffisso \texttt{\_ALARM}, hanno un impiego particolare, -derivato dalle esigenze emerse con Android per l'uso di Linux sui cellulari, -che consente di creare timer che possono scattare, riattivando il sistema, -anche quando questo è in sospensione. Per il loro utilizzo è prevista la -necessità di una capacità specifica, \const{CAP\_WAKE\_ALARM} (vedi -sez.~\ref{sec:proc_capabilities}). +tab.~\ref{tab:sig_timer_clockid_types} sono estensioni specifiche di Linux +presenti solo nelle versioni più recenti del kernel, create per rispondere ad +alcune esigenze specifiche come quella di tener conto di eventuali periodi di +sospensione del sistema. In particolare gli ultimi due, contraddistinti dal +suffisso \texttt{\_ALARM}, hanno un impiego particolare derivato dalle +esigenze emerse con Android per l'uso di Linux sui cellulari, che consente di +creare timer che possono scattare, riattivando il sistema, anche quando questo +è in sospensione. Per il loro utilizzo è prevista la necessità di una capacità +specifica, \const{CAP\_WAKE\_ALARM} (vedi sez.~\ref{sec:proc_capabilities}). Si tenga presente inoltre che con l'introduzione degli \textit{high resolution timer} i due orologi \const{CLOCK\_PROCESS\_CPUTIME\_ID} e @@ -3892,10 +3891,10 @@ anch'essa introdotta dallo standard POSIX.1, il suo prototipo è: La funzione permette di ricavare quali sono i segnali pendenti per il processo in corso, cioè i segnali che sono stati inviati dal kernel ma non sono stati ancora ricevuti dal processo in quanto bloccati. Non esiste una funzione -equivalente nella vecchia interfaccia, ma essa è tutto sommato poco utile, -dato che essa può solo assicurare che un segnale è stato inviato, dato che -escluderne l'avvenuto invio al momento della chiamata non significa nulla -rispetto a quanto potrebbe essere in un qualunque momento successivo. +equivalente nella vecchia interfaccia, ma essa, potendo solo assicurare che un +segnale è stato inviato, è tutto sommato poco utile dato che escluderne +l'avvenuto invio al momento della chiamata non significa nulla rispetto a +quanto potrebbe accadere in un qualunque momento successivo. Una delle caratteristiche di BSD, disponibile anche in Linux, è la possibilità di usare uno \textit{stack} alternativo per i segnali; è cioè possibile fare