Reindicizzazioni, si prosegue.
authorSimone Piccardi <piccardi@gnulinux.it>
Wed, 15 Jul 2015 18:08:46 +0000 (18:08 +0000)
committerSimone Piccardi <piccardi@gnulinux.it>
Wed, 15 Jul 2015 18:08:46 +0000 (18:08 +0000)
fileadv.tex
filedir.tex
fileio.tex
ipc.tex
prochand.tex
socket.tex
system.tex

index caab10082b300693aa1bb850c9ea980f54e6676c..e99b81bb3ca7f1c59888dd6f020bab73da0baf03 100644 (file)
@@ -1629,9 +1629,9 @@ come estensione della precedente (è disponibile solo a partire dal kernel
 di creazione del file descriptor. Al momento l'unico valore legale
 per \param{flags} (a parte lo zero) è \const{EPOLL\_CLOEXEC}, che consente di
 impostare in maniera atomica sul file descriptor il flag di
 di creazione del file descriptor. Al momento l'unico valore legale
 per \param{flags} (a parte lo zero) è \const{EPOLL\_CLOEXEC}, che consente di
 impostare in maniera atomica sul file descriptor il flag di
-\itindex{close-on-exec} \textit{close-on-exec} (si è trattato il significato
-di \const{O\_CLOEXEC} in sez.~\ref{sec:file_open_close}), senza che sia
-necessaria una successiva chiamata a \func{fcntl}.
+\textit{close-on-exec} (si è trattato il significato di \const{O\_CLOEXEC} in
+sez.~\ref{sec:file_open_close}), senza che sia necessaria una successiva
+chiamata a \func{fcntl}.
 
 Una volta ottenuto un file descriptor per \textit{epoll} il passo successivo è
 indicare quali file descriptor mettere sotto osservazione e quali operazioni
 
 Una volta ottenuto un file descriptor per \textit{epoll} il passo successivo è
 indicare quali file descriptor mettere sotto osservazione e quali operazioni
index 4e3e4bb4ef4b6f08cd5157861f516b3d4216e8da..df4576e1238d4687733bae7efbb2b5466a1414d2 100644 (file)
@@ -2025,9 +2025,9 @@ directory.
 Si tenga presente che comunque la funzione opera associando il
 \textit{directory stream} ad un opportuno file descriptor sottostante, sul
 quale vengono compiute le operazioni. Questo viene sempre aperto impostando il
 Si tenga presente che comunque la funzione opera associando il
 \textit{directory stream} ad un opportuno file descriptor sottostante, sul
 quale vengono compiute le operazioni. Questo viene sempre aperto impostando il
-flag di \itindex{close-on-exec} \textit{close-on-exec} (si ricordi quanto
-detto in sez.~\ref{sec:proc_exec}), così da evitare che resti aperto in caso
-di esecuzione di un altro programma.
+flag di \textit{close-on-exec} (si ricordi quanto detto in
+sez.~\ref{sec:proc_exec}), così da evitare che resti aperto in caso di
+esecuzione di un altro programma.
 
 Nel caso in cui sia necessario conoscere il \textit{file descriptor} associato
 ad un \textit{directory stream} si può usare la funzione
 
 Nel caso in cui sia necessario conoscere il \textit{file descriptor} associato
 ad un \textit{directory stream} si può usare la funzione
@@ -2098,9 +2098,8 @@ funzioni che operano sul \textit{directory stream} e non dovrà essere più
 utilizzato all'interno del proprio programma. In particolare dovrà essere
 chiuso attraverso il \textit{directory stream} con \func{closedir} e non
 direttamente. Si tenga presente inoltre che \func{fdopendir} non modifica lo
 utilizzato all'interno del proprio programma. In particolare dovrà essere
 chiuso attraverso il \textit{directory stream} con \func{closedir} e non
 direttamente. Si tenga presente inoltre che \func{fdopendir} non modifica lo
-stato di un eventuale flag di \itindex{close-on-exec} \textit{close-on-exec},
-che pertanto dovrà essere impostato esplicitamente in fase di apertura del
-file descriptor.
+stato di un eventuale flag di \textit{close-on-exec}, che pertanto dovrà
+essere impostato esplicitamente in fase di apertura del file descriptor.
 
 Una volta che si sia aperto un \textit{directory stream} la lettura del
 contenuto della directory viene effettuata attraverso la funzione
 
 Una volta che si sia aperto un \textit{directory stream} la lettura del
 contenuto della directory viene effettuata attraverso la funzione
index 3d855263b513c6ae2e901205824b9a8d981f697a..f23053d9999fea8769faa1a7e2b6009d5dd1be81 100644 (file)
@@ -514,8 +514,7 @@ si tronca il file con \const{O\_TRUNC} verranno impostati soltanto il
                            in fase di apertura del file, deve
                            invece essere attivato successivamente con
                            \func{fcntl}.\\
                            in fase di apertura del file, deve
                            invece essere attivato successivamente con
                            \func{fcntl}.\\
-      \const{O\_CLOEXEC}&  Attiva la modalità di \itindex{close-on-exec}
-                           \textit{close-on-exec} (vedi
+      \const{O\_CLOEXEC}&  Attiva la modalità di \textit{close-on-exec} (vedi
                            sez.~\ref{sec:proc_exec}) sul file. Il flag è 
                            previsto dallo standard POSIX.1-2008, ed è stato
                            introdotto con il kernel 2.6.23 per evitare una
                            sez.~\ref{sec:proc_exec}) sul file. Il flag è 
                            previsto dallo standard POSIX.1-2008, ed è stato
                            introdotto con il kernel 2.6.23 per evitare una
@@ -1307,10 +1306,9 @@ che quello che viene modificato è lo stesso campo nella voce della
 L'unica differenza fra due file descriptor duplicati è che ciascuno avrà un
 suo \textit{file descriptor flag} indipendente. A questo proposito deve essere
 tenuto presente che nel caso in cui si usi \func{dup} per duplicare un file
 L'unica differenza fra due file descriptor duplicati è che ciascuno avrà un
 suo \textit{file descriptor flag} indipendente. A questo proposito deve essere
 tenuto presente che nel caso in cui si usi \func{dup} per duplicare un file
-descriptor, se questo ha il flag di \textit{close-on-exec}
-\itindex{close-on-exec} attivo (vedi sez.~\ref{sec:proc_exec} e
-sez.~\ref{sec:file_fcntl_ioctl}), questo verrà cancellato nel file descriptor
-restituito come copia.
+descriptor, se questo ha il flag di \textit{close-on-exec} attivo (vedi
+sez.~\ref{sec:proc_exec} e sez.~\ref{sec:file_fcntl_ioctl}), questo verrà
+cancellato nel file descriptor restituito come copia.
 
 L'uso principale di questa funzione è nella shell per la redirezione dei file
 standard di tab.~\ref{tab:file_std_files} fra l'esecuzione di una \func{fork}
 
 L'uso principale di questa funzione è nella shell per la redirezione dei file
 standard di tab.~\ref{tab:file_std_files} fra l'esecuzione di una \func{fork}
@@ -1420,11 +1418,10 @@ un file descriptor reimpostandone i flag, per usarla occorre definire la macro
 \end{funcproto}
 
 La funzione è identica a \func{dup2} ma prevede la possibilità di mantenere il
 \end{funcproto}
 
 La funzione è identica a \func{dup2} ma prevede la possibilità di mantenere il
-flag di \textit{close-on-exec} \itindex{close-on-exec} sul nuovo
-file descriptor specificando \const{O\_CLOEXEC} in \param{flags} (che è l'unico
-flag usabile in questo caso). Inoltre rileva esplicitamente la possibile
-coincidenza fra \param{newfd} e \param{oldfd}, fallendo con un errore di
-\errval{EINVAL}.
+flag di \textit{close-on-exec} sul nuovo file descriptor specificando
+\const{O\_CLOEXEC} in \param{flags} (che è l'unico flag usabile in questo
+caso). Inoltre rileva esplicitamente la possibile coincidenza
+fra \param{newfd} e \param{oldfd}, fallendo con un errore di \errval{EINVAL}.
 
 
 \subsection{Le funzioni di sincronizzazione dei dati}
 
 
 \subsection{Le funzioni di sincronizzazione dei dati}
@@ -1938,9 +1935,11 @@ il nome indicato nel precedente prototipo), è riportata di seguito:
   o \errcode{EMFILE} se il processo ha già raggiunto il massimo numero di
   descrittori consentito.
 
   o \errcode{EMFILE} se il processo ha già raggiunto il massimo numero di
   descrittori consentito.
 
+\itindbeg{close-on-exec}
+
 \item[\const{F\_DUPFD\_CLOEXEC}] ha lo stesso effetto di \const{F\_DUPFD}, ma
 \item[\const{F\_DUPFD\_CLOEXEC}] ha lo stesso effetto di \const{F\_DUPFD}, ma
-  in più attiva il flag di \itindex{close-on-exec} \textit{close-on-exec} sul
-  file descriptor duplicato, in modo da evitare una successiva chiamata con
+  in più attiva il flag di \textit{close-on-exec} sul file descriptor
+  duplicato, in modo da evitare una successiva chiamata con
   \const{F\_SETFD}. La funzionalità è stata introdotta con il kernel 2.6.24 ed
   è prevista nello standard POSIX.1-2008 (si deve perciò definire
   \macro{\_POSIX\_C\_SOURCE} ad un valore adeguato secondo quanto visto in
   \const{F\_SETFD}. La funzionalità è stata introdotta con il kernel 2.6.24 ed
   è prevista nello standard POSIX.1-2008 (si deve perciò definire
   \macro{\_POSIX\_C\_SOURCE} ad un valore adeguato secondo quanto visto in
@@ -1950,20 +1949,21 @@ il nome indicato nel precedente prototipo), è riportata di seguito:
     flags} di \param{fd} in caso di successo o $-1$ in caso di errore, il
   terzo argomento viene ignorato. Non sono previsti errori diversi da
   \errval{EBADF}. Al momento l'unico flag usato è quello di
     flags} di \param{fd} in caso di successo o $-1$ in caso di errore, il
   terzo argomento viene ignorato. Non sono previsti errori diversi da
   \errval{EBADF}. Al momento l'unico flag usato è quello di
-  \itindex{close-on-exec} \textit{close-on-exec}, identificato dalla costante
-  \const{FD\_CLOEXEC}, che serve a richiedere che il file venga chiuso nella
-  esecuzione di una \func{exec} (vedi sez.~\ref{sec:proc_exec}). Un valore
-  nullo significa pertanto che il flag non è impostato.
+  \textit{close-on-exec}, identificato dalla costante \const{FD\_CLOEXEC}, che
+  serve a richiedere che il file venga chiuso nella esecuzione di una
+  \func{exec} (vedi sez.~\ref{sec:proc_exec}). Un valore nullo significa
+  pertanto che il flag non è impostato.
 
 \item[\const{F\_SETFD}] imposta il valore dei \textit{file descriptor flags}
   al valore specificato con \param{arg}, ritorna un valore nullo in caso di
   successo e $-1$ in caso di errore. Non sono previsti errori diversi da
   \errval{EBADF}. Dato che l'unico flag attualmente usato è quello di
 
 \item[\const{F\_SETFD}] imposta il valore dei \textit{file descriptor flags}
   al valore specificato con \param{arg}, ritorna un valore nullo in caso di
   successo e $-1$ in caso di errore. Non sono previsti errori diversi da
   \errval{EBADF}. Dato che l'unico flag attualmente usato è quello di
-  \itindex{close-on-exec} \textit{close-on-exec}, identificato dalla costante
-  \const{FD\_CLOEXEC}, tutti gli altri bit di \param{arg}, anche se impostati,
-  vengono ignorati.\footnote{questo almeno è quanto avviene fino al kernel
-    3.2, come si può evincere dal codice della funzione \texttt{do\_fcntl} nel
-    file \texttt{fs/fcntl.c} dei sorgenti del kernel.}
+  \textit{close-on-exec}, identificato dalla costante \const{FD\_CLOEXEC},
+  tutti gli altri bit di \param{arg}, anche se impostati, vengono
+  ignorati.\footnote{questo almeno è quanto avviene fino al kernel 3.2, come
+    si può evincere dal codice della funzione \texttt{do\_fcntl} nel file
+    \texttt{fs/fcntl.c} dei sorgenti del kernel.}
+\itindend{close-on-exec}
 
 \item[\const{F\_GETFL}] ritorna il valore dei \textit{file status flags} di
   \param{fd} in caso di successo o $-1$ in caso di errore, il terzo argomento
 
 \item[\const{F\_GETFL}] ritorna il valore dei \textit{file status flags} di
   \param{fd} in caso di successo o $-1$ in caso di errore, il terzo argomento
@@ -2346,14 +2346,12 @@ sono definite nel kernel a livello generale, e vengono sempre interpretate per
 prime, per cui, come illustrato in \cite{LinDevDri}, eventuali operazioni
 specifiche che usino lo stesso valore verrebbero ignorate:
 \begin{basedescript}{\desclabelwidth{2.0cm}}
 prime, per cui, come illustrato in \cite{LinDevDri}, eventuali operazioni
 specifiche che usino lo stesso valore verrebbero ignorate:
 \begin{basedescript}{\desclabelwidth{2.0cm}}
-\item[\const{FIOCLEX}] imposta il flag di \itindex{close-on-exec}
-  \textit{close-on-exec} sul file, in questo caso, essendo usata come
-  operazione logica, \func{ioctl} non richiede un terzo argomento, il cui
-  eventuale valore viene ignorato.
-\item[\const{FIONCLEX}] cancella il flag di \itindex{close-on-exec}
-  \textit{close-on-exec} sul file, in questo caso, essendo usata come
-  operazione logica, \func{ioctl} non richiede un terzo argomento, il cui
-  eventuale valore viene ignorato.
+\item[\const{FIOCLEX}] imposta il flag di \textit{close-on-exec} sul file, in
+  questo caso, essendo usata come operazione logica, \func{ioctl} non richiede
+  un terzo argomento, il cui eventuale valore viene ignorato.
+\item[\const{FIONCLEX}] cancella il flag di \textit{close-on-exec} sul file,
+  in questo caso, essendo usata come operazione logica, \func{ioctl} non
+  richiede un terzo argomento, il cui eventuale valore viene ignorato.
 \item[\const{FIOASYNC}] abilita o disabilita la modalità di I/O asincrono sul
   file (vedi sez.~\ref{sec:signal_driven_io}); il terzo argomento
   deve essere un puntatore ad un intero (cioè di tipo \texttt{const int *})
 \item[\const{FIOASYNC}] abilita o disabilita la modalità di I/O asincrono sul
   file (vedi sez.~\ref{sec:signal_driven_io}); il terzo argomento
   deve essere un puntatore ad un intero (cioè di tipo \texttt{const int *})
diff --git a/ipc.tex b/ipc.tex
index 4ffca7cd03e7eacbfeefbe844d94cddeefca2305..f6065cd5ec7d6bd0290befe44fbaf4d911604984 100644 (file)
--- a/ipc.tex
+++ b/ipc.tex
@@ -122,7 +122,7 @@ fra \const{O\_NONBLOCK} o \const{O\_CLOEXEC} che hanno l'effetto di impostare
 su entrambi i file descriptor restituiti dalla funzione i relativi flag, già
 descritti per \func{open} in tab.~\ref{tab:open_operation_flag}, che attivano
 rispettivamente la modalità di accesso \textsl{non-bloccante} ed il
 su entrambi i file descriptor restituiti dalla funzione i relativi flag, già
 descritti per \func{open} in tab.~\ref{tab:open_operation_flag}, che attivano
 rispettivamente la modalità di accesso \textsl{non-bloccante} ed il
-\textit{close-on-exec} \itindex{close-on-exec}.
+\textit{close-on-exec}.
 
 Chiaramente creare una \textit{pipe} all'interno di un singolo processo non
 serve a niente; se però ricordiamo quanto esposto in
 
 Chiaramente creare una \textit{pipe} all'interno di un singolo processo non
 serve a niente; se però ricordiamo quanto esposto in
@@ -369,8 +369,8 @@ La funzione restituisce il puntatore ad uno stream associato alla
   input}) in caso di \code{w}. A partire dalla versione 2.9 delle \acr{glibc}
 (questa è una estensione specifica di Linux) all'argomento \param{type} può
 essere aggiunta la lettera ``\texttt{e}'' per impostare automaticamente il
   input}) in caso di \code{w}. A partire dalla versione 2.9 delle \acr{glibc}
 (questa è una estensione specifica di Linux) all'argomento \param{type} può
 essere aggiunta la lettera ``\texttt{e}'' per impostare automaticamente il
-flag di \textit{close-on-exec} \itindex{close-on-exec} sul file descriptor
-sottostante (si ricordi quanto spiegato in sez.~\ref{sec:file_open_close}).
+flag di \textit{close-on-exec} sul file descriptor sottostante (si ricordi
+quanto spiegato in sez.~\ref{sec:file_open_close}).
 
 Lo \textit{stream} restituito da \func{popen} è identico a tutti gli effetti
 ai \textit{file stream} visti in sez.~\ref{sec:files_std_interface}, anche se
 
 Lo \textit{stream} restituito da \func{popen} è identico a tutti gli effetti
 ai \textit{file stream} visti in sez.~\ref{sec:files_std_interface}, anche se
@@ -1075,8 +1075,7 @@ direttamente (in lettura o scrittura) all'oggetto. In tal caso lo schema dei
 controlli è simile a quello dei file, ed avviene secondo questa sequenza:
 \begin{itemize*}
 \item se il processo ha i privilegi di amministratore (più precisamente la
 controlli è simile a quello dei file, ed avviene secondo questa sequenza:
 \begin{itemize*}
 \item se il processo ha i privilegi di amministratore (più precisamente la
-  capacità \itindex{capability} \const{CAP\_IPC\_OWNER}) l'accesso è sempre
-  consentito.
+  capacità \const{CAP\_IPC\_OWNER}) l'accesso è sempre consentito.
 \item se l'\ids{UID} effettivo del processo corrisponde o al valore del campo
   \var{cuid} o a quello del campo \var{uid} ed il permesso per il proprietario
   in \var{mode} è appropriato\footnote{per appropriato si intende che è
 \item se l'\ids{UID} effettivo del processo corrisponde o al valore del campo
   \var{cuid} o a quello del campo \var{uid} ed il permesso per il proprietario
   in \var{mode} è appropriato\footnote{per appropriato si intende che è
@@ -1451,9 +1450,9 @@ per \param{cmd} sono:
   occorre essere il proprietario o il creatore della coda, oppure
   l'amministratore e lo stesso vale per \var{msg\_qbytes}. Infine solo
   l'amministratore (più precisamente un processo con la capacità
   occorre essere il proprietario o il creatore della coda, oppure
   l'amministratore e lo stesso vale per \var{msg\_qbytes}. Infine solo
   l'amministratore (più precisamente un processo con la capacità
-  \itindex{capability} \const{CAP\_IPC\_RESOURCE}) ha la facoltà di
-  incrementarne il valore a limiti superiori a \const{MSGMNB}. Se eseguita con
-  successo la funzione aggiorna anche il campo \var{msg\_ctime}.
+  \const{CAP\_IPC\_RESOURCE}) ha la facoltà di incrementarne il valore a
+  limiti superiori a \const{MSGMNB}. Se eseguita con successo la funzione
+  aggiorna anche il campo \var{msg\_ctime}.
 \end{basedescript}
 
 A questi tre valori, che sono quelli previsti dallo standard, su Linux se ne
 \end{basedescript}
 
 A questi tre valori, che sono quelli previsti dallo standard, su Linux se ne
@@ -2590,8 +2589,8 @@ creazione del segmento usando una \itindex{huge~page} \textit{huge page}, le
 pagine di memoria di grandi dimensioni introdotte con il kernel 2.6 per
 ottimizzare le prestazioni nei sistemi più recenti che hanno grandi quantità
 di memoria. L'operazione è privilegiata e richiede che il processo abbia la
 pagine di memoria di grandi dimensioni introdotte con il kernel 2.6 per
 ottimizzare le prestazioni nei sistemi più recenti che hanno grandi quantità
 di memoria. L'operazione è privilegiata e richiede che il processo abbia la
-\itindex{capability} \textit{capability} \const{CAP\_IPC\_LOCK}. Questa
-funzionalità è specifica di Linux e non è portabile.
+\textit{capability} \const{CAP\_IPC\_LOCK}. Questa funzionalità è specifica di
+Linux e non è portabile.
 
 Il secondo flag aggiuntivo, introdotto a partire dal kernel 2.6.15, è
 \const{SHM\_NORESERVE}, ed ha lo stesso scopo del flag \const{MAP\_NORESERVE}
 
 Il secondo flag aggiuntivo, introdotto a partire dal kernel 2.6.15, è
 \const{SHM\_NORESERVE}, ed ha lo stesso scopo del flag \const{MAP\_NORESERVE}
@@ -3789,9 +3788,8 @@ dei limiti sono:
   valore massimo è \const{HARD\_MAX} che vale \code{(131072/sizeof(void *))},
   ed il valore minimo 1 (ma era 10 per i kernel precedenti il 2.6.28). Questo
   limite viene ignorato per i processi con privilegi amministrativi (più
   valore massimo è \const{HARD\_MAX} che vale \code{(131072/sizeof(void *))},
   ed il valore minimo 1 (ma era 10 per i kernel precedenti il 2.6.28). Questo
   limite viene ignorato per i processi con privilegi amministrativi (più
-  precisamente con la \itindex{capability} \textit{capability}
-  \const{CAP\_SYS\_RESOURCE}) ma \const{HARD\_MAX} resta comunque non
-  superabile.
+  precisamente con la \textit{capability} \const{CAP\_SYS\_RESOURCE}) ma
+  \const{HARD\_MAX} resta comunque non superabile.
 
 \item[\sysctlfile{fs/mqueue/msgsize\_max}] Indica il valore massimo della
   dimensione in byte di un messaggio sulla coda ed agisce come limite
 
 \item[\sysctlfile{fs/mqueue/msgsize\_max}] Indica il valore massimo della
   dimensione in byte di un messaggio sulla coda ed agisce come limite
@@ -3799,14 +3797,14 @@ dei limiti sono:
   suo valore di default è 8192.  Il valore massimo è 1048576 ed il valore
   minimo 128 (ma per i kernel precedenti il 2.6.28 detti limiti erano
   rispettivamente \const{INT\_MAX} e 8192). Questo limite viene ignorato dai
   suo valore di default è 8192.  Il valore massimo è 1048576 ed il valore
   minimo 128 (ma per i kernel precedenti il 2.6.28 detti limiti erano
   rispettivamente \const{INT\_MAX} e 8192). Questo limite viene ignorato dai
-  processi con privilegi amministrativi (con la \itindex{capability}
-  \textit{capability} \const{CAP\_SYS\_RESOURCE}).
+  processi con privilegi amministrativi (con la \textit{capability}
+  \const{CAP\_SYS\_RESOURCE}).
 
 \item[\sysctlfile{fs/mqueue/queues\_max}] Indica il numero massimo di code di
   messaggi creabili in totale sul sistema, il valore di default è 256 ma si
   può usare un valore qualunque fra $0$ e \const{INT\_MAX}. Il limite non
   viene applicato ai processi con privilegi amministrativi (cioè con la
 
 \item[\sysctlfile{fs/mqueue/queues\_max}] Indica il numero massimo di code di
   messaggi creabili in totale sul sistema, il valore di default è 256 ma si
   può usare un valore qualunque fra $0$ e \const{INT\_MAX}. Il limite non
   viene applicato ai processi con privilegi amministrativi (cioè con la
-  \itindex{capability} \textit{capability} \const{CAP\_SYS\_RESOURCE}).
+  \textit{capability} \const{CAP\_SYS\_RESOURCE}).
 
 \end{basedescript}
 
 
 \end{basedescript}
 
index 099e98b622b2d26eeeaee6138664eec4231b0a05..cd67422efa01678ba5381ef41c64a0b1f11860d2 100644 (file)
@@ -599,9 +599,8 @@ Oltre ai file aperti i processi figli ereditano dal padre una serie di altre
 proprietà; la lista dettagliata delle proprietà che padre e figlio hanno in
 comune dopo l'esecuzione di una \func{fork} è la seguente:
 \begin{itemize*}
 proprietà; la lista dettagliata delle proprietà che padre e figlio hanno in
 comune dopo l'esecuzione di una \func{fork} è la seguente:
 \begin{itemize*}
-\item i file aperti e gli eventuali flag di \itindex{close-on-exec}
-  \textit{close-on-exec} impostati (vedi sez.~\ref{sec:proc_exec} e
-  sez.~\ref{sec:file_fcntl_ioctl});
+\item i file aperti e gli eventuali flag di \textit{close-on-exec} impostati
+  (vedi sez.~\ref{sec:proc_exec} e sez.~\ref{sec:file_fcntl_ioctl});
 \item gli identificatori per il controllo di accesso: l'\textsl{user-ID
     reale}, il \textsl{group-ID reale}, l'\textsl{user-ID effettivo}, il
   \textsl{group-ID effettivo} ed i \textsl{group-ID supplementari} (vedi
 \item gli identificatori per il controllo di accesso: l'\textsl{user-ID
     reale}, il \textsl{group-ID reale}, l'\textsl{user-ID effettivo}, il
   \textsl{group-ID effettivo} ed i \textsl{group-ID supplementari} (vedi
@@ -1621,18 +1620,23 @@ nell'esecuzione della funzione \func{exec}, queste sono:
   localizzazione al valore di default POSIX. 
 \end{itemize*}
 
   localizzazione al valore di default POSIX. 
 \end{itemize*}
 
+\itindbeg{close-on-exec}
+
 La gestione dei file aperti nel passaggio al nuovo programma lanciato con
 La gestione dei file aperti nel passaggio al nuovo programma lanciato con
-\func{exec} dipende dal valore che ha il flag di \itindex{close-on-exec}
-\textit{close-on-exec} (vedi sez.~\ref{sec:file_fcntl_ioctl}) per ciascun
-\textit{file descriptor}. I file per cui è impostato vengono chiusi, tutti gli
-altri file restano aperti. Questo significa che il comportamento predefinito è
-che i file restano aperti attraverso una \func{exec}, a meno di una chiamata
-esplicita a \func{fcntl} che imposti il suddetto flag.  Per le directory, lo
-standard POSIX.1 richiede che esse vengano chiuse attraverso una \func{exec},
-in genere questo è fatto dalla funzione \func{opendir} (vedi
+\func{exec} dipende dal valore che ha il flag di \textit{close-on-exec} (vedi
+sez.~\ref{sec:file_fcntl_ioctl}) per ciascun \textit{file descriptor}. I file
+per cui è impostato vengono chiusi, tutti gli altri file restano
+aperti. Questo significa che il comportamento predefinito è che i file restano
+aperti attraverso una \func{exec}, a meno di una chiamata esplicita a
+\func{fcntl} che imposti il suddetto flag.  Per le directory, lo standard
+POSIX.1 richiede che esse vengano chiuse attraverso una \func{exec}, in genere
+questo è fatto dalla funzione \func{opendir} (vedi
 sez.~\ref{sec:file_dir_read}) che effettua da sola l'impostazione del flag di
 sez.~\ref{sec:file_dir_read}) che effettua da sola l'impostazione del flag di
-\itindex{close-on-exec} \textit{close-on-exec} sulle directory che apre, in
-maniera trasparente all'utente.
+\textit{close-on-exec} sulle directory che apre, in maniera trasparente
+all'utente.
+
+\itindend{close-on-exec}
+
 
 Il comportamento della funzione in relazione agli identificatori relativi al
 controllo di accesso verrà trattato in dettaglio in sez.~\ref{sec:proc_perms},
 
 Il comportamento della funzione in relazione agli identificatori relativi al
 controllo di accesso verrà trattato in dettaglio in sez.~\ref{sec:proc_perms},
index 503234e0bdd7186a56bad359176534ae3984b016..c69c9ee860e0799099c86198a178d593fc81a6ea 100644 (file)
@@ -300,10 +300,10 @@ non strettamente attinenti all'indicazione del tipo secondo i valori appena
 illustrati. Essi infatti possono essere combinati con un OR aritmetico delle
 ulteriori costanti:
 \begin{basedescript}{\desclabelwidth{2.9cm}\desclabelstyle{\nextlinelabel}}
 illustrati. Essi infatti possono essere combinati con un OR aritmetico delle
 ulteriori costanti:
 \begin{basedescript}{\desclabelwidth{2.9cm}\desclabelstyle{\nextlinelabel}}
-\item[\const{SOCK\_CLOEXEC}] imposta il flag di \textit{close-on-exec}
-  \itindex{close-on-exec} sul file descriptor del socket, ottenendo lo stesso
-  effetto del flag \const{O\_CLOEXEC} di \func{open} (vedi
-  tab.~\ref{tab:open_operation_flag}), di cui costituisce l'analogo.
+\item[\const{SOCK\_CLOEXEC}] imposta il flag di \textit{close-on-exec} sul
+  file descriptor del socket, ottenendo lo stesso effetto del flag
+  \const{O\_CLOEXEC} di \func{open} (vedi tab.~\ref{tab:open_operation_flag}),
+  di cui costituisce l'analogo.
 
 \item[\const{SOCK\_NONBLOCK}] crea il socket in modalità non-bloccante, con
   effetti identici ad una successiva chiamata a \func{fcntl} per impostare il
 
 \item[\const{SOCK\_NONBLOCK}] crea il socket in modalità non-bloccante, con
   effetti identici ad una successiva chiamata a \func{fcntl} per impostare il
index 638c7ac61ecd561780b1e48f2175935f53e2a535..22f0eb152e054fc8de196c0adb3687404ffa7b3e 100644 (file)
@@ -1650,7 +1650,7 @@ di quest'ultimo.  Nello specificare un limite, oltre a fornire dei valori
 specifici, si può anche usare la costante \const{RLIM\_INFINITY} che permette
 di sbloccare completamente l'uso di una risorsa. Si ricordi però che solo un
 processo con i privilegi di amministratore\footnote{per essere precisi in
 specifici, si può anche usare la costante \const{RLIM\_INFINITY} che permette
 di sbloccare completamente l'uso di una risorsa. Si ricordi però che solo un
 processo con i privilegi di amministratore\footnote{per essere precisi in
-  questo caso quello che serve è la \itindex{capabilities} \textit{capability}
+  questo caso quello che serve è la \textit{capability}
   \const{CAP\_SYS\_RESOURCE} (vedi sez.~\ref{sec:proc_capabilities}).} può
 innalzare un limite al di sopra del valore corrente del limite massimo ed
 usare un valore qualsiasi per entrambi i limiti.
   \const{CAP\_SYS\_RESOURCE} (vedi sez.~\ref{sec:proc_capabilities}).} può
 innalzare un limite al di sopra del valore corrente del limite massimo ed
 usare un valore qualsiasi per entrambi i limiti.
@@ -1858,8 +1858,8 @@ che sia stata definita la macro \macro{\_GNU\_SOURCE}. Il primo argomento
 indica il \ids{PID} del processo di cui si vogliono cambiare i limiti e si può
 usare un valore nullo per indicare il processo chiamante.  Per modificare i
 limiti di un altro processo, a meno di non avere privilegi
 indica il \ids{PID} del processo di cui si vogliono cambiare i limiti e si può
 usare un valore nullo per indicare il processo chiamante.  Per modificare i
 limiti di un altro processo, a meno di non avere privilegi
-amministrativi,\footnote{anche in questo caso la \itindex{capabilities}
-  \textit{capability} necessaria è \const{CAP\_SYS\_RESOURCE} (vedi
+amministrativi,\footnote{anche in questo caso la \textit{capability}
+  necessaria è \const{CAP\_SYS\_RESOURCE} (vedi
   sez.~\ref{sec:proc_capabilities}).}  l'\ids{UID} ed il \ids{GID} reale del
 chiamante devono coincidere con \ids{UID} e \ids{GID} del processo indicato
 per i tre gruppi reale, effettivo e salvato.
   sez.~\ref{sec:proc_capabilities}).}  l'\ids{UID} ed il \ids{GID} reale del
 chiamante devono coincidere con \ids{UID} e \ids{GID} del processo indicato
 per i tre gruppi reale, effettivo e salvato.
@@ -2019,7 +2019,7 @@ prototipo è:
 La funzione attiva il salvataggio dei dati sul file indicato dal
 \textit{pathname} contenuti nella stringa puntata da \param{filename}; la
 funzione richiede che il processo abbia i privilegi di amministratore (è
 La funzione attiva il salvataggio dei dati sul file indicato dal
 \textit{pathname} contenuti nella stringa puntata da \param{filename}; la
 funzione richiede che il processo abbia i privilegi di amministratore (è
-necessaria la \itindex{capabilities} capability \const{CAP\_SYS\_PACCT}, vedi
+necessaria la \textit{capability} \const{CAP\_SYS\_PACCT}, vedi
 sez.~\ref{sec:proc_capabilities}). Se si specifica il valore \val{NULL} per
 \param{filename} il \textit{BSD accounting} viene invece disabilitato. Un
 semplice esempio per l'uso di questa funzione è riportato nel programma
 sez.~\ref{sec:proc_capabilities}). Se si specifica il valore \val{NULL} per
 \param{filename} il \textit{BSD accounting} viene invece disabilitato. Un
 semplice esempio per l'uso di questa funzione è riportato nel programma
@@ -2376,9 +2376,9 @@ sia necessario; il suo prototipo è:
 
 Dato che modificare l'ora ha un impatto su tutto il sistema il cambiamento
 dell'orologio è una operazione privilegiata e questa funzione può essere usata
 
 Dato che modificare l'ora ha un impatto su tutto il sistema il cambiamento
 dell'orologio è una operazione privilegiata e questa funzione può essere usata
-solo da un processo con i privilegi di amministratore (per la precisione la la
-\itindex{capabilities} capability \const{CAP\_SYS\_TIME}), altrimenti la
-chiamata fallirà con un errore di \errcode{EPERM}.
+solo da un processo con i privilegi di amministratore (per la precisione la
+\textit{capability} \const{CAP\_SYS\_TIME}), altrimenti la chiamata fallirà
+con un errore di \errcode{EPERM}.
 
 Data la scarsa precisione nell'uso di \type{time\_t}, che ha una risoluzione
 massima di un secondo, quando si devono effettuare operazioni sui tempi di
 
 Data la scarsa precisione nell'uso di \type{time\_t}, che ha una risoluzione
 massima di un secondo, quando si devono effettuare operazioni sui tempi di
@@ -2414,10 +2414,9 @@ non dipende dall'uso di queste strutture.
 
 Come nel caso di \func{stime} anche \func{settimeofday} può essere utilizzata
 solo da un processo coi privilegi di amministratore e più precisamente con la
 
 Come nel caso di \func{stime} anche \func{settimeofday} può essere utilizzata
 solo da un processo coi privilegi di amministratore e più precisamente con la
-\itindex{capability} capacità \const{CAP\_SYS\_TIME}. Si tratta comunque di
-una condizione generale che continua a valere per qualunque funzione che vada
-a modificare l'orologio di sistema, comprese tutte quelle che tratteremo in
-seguito.
+capacità \const{CAP\_SYS\_TIME}. Si tratta comunque di una condizione generale
+che continua a valere per qualunque funzione che vada a modificare l'orologio
+di sistema, comprese tutte quelle che tratteremo in seguito.
 
 Il secondo argomento di entrambe le funzioni è una struttura
 \struct{timezone}, che storicamente veniva utilizzata per specificare appunto
 
 Il secondo argomento di entrambe le funzioni è una struttura
 \struct{timezone}, che storicamente veniva utilizzata per specificare appunto