X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=filedir.tex;h=56f71b87a7a76ed4c0803f4a31226a18ccf1932d;hp=b985da195568042040b81c218dc8ef698f2cae92;hb=0ab3f419ed7721862f3a3bc012d681fbefdf0cfa;hpb=608bbf38416013dc331e1ef2e5dfe01855b6158b diff --git a/filedir.tex b/filedir.tex index b985da1..56f71b8 100644 --- a/filedir.tex +++ b/filedir.tex @@ -69,7 +69,7 @@ principali, come risultano dalla man page, sono le seguenti: già. \item \macro{EMLINK} ci sono troppi link al file \var{oldpath} (il numero massimo è specificato dalla variabile \macro{LINK\_MAX}, vedi - \secref{sec:xxx_limits}). + \secref{sec:sys_limits}). \end{errlist} ed inoltre \macro{EACCES}, \macro{ENAMETOOLONG}, \macro{ENOTDIR}, \macro{EFAULT}, \macro{ENOMEM}, \macro{EROFS}, \macro{ELOOP}, @@ -142,9 +142,9 @@ restrizioni Una delle caratteristiche di queste funzioni è che la creazione/rimozione della nome dalla directory e l'incremento/decremento del numero di riferimenti -nell'inode deve essere una operazione atomica (cioè non interrompibile da -altri processi), per questo entrambe queste funzioni sono realizzate tramite -una singola system call. +nell'inode deve essere una operazione atomica (si veda +\secref{cha:proc_atom_oper}), per questo entrambe queste funzioni sono +realizzate tramite una singola system call. Si ricordi infine che il file non viene eliminato dal disco fintanto che tutti i riferimenti ad esso sono stati cancellati, solo quando il \textit{link @@ -378,7 +378,7 @@ stringa con un carattere nullo e la tronca alla dimensione specificata da \begin{figure}[htb] \centering - \includegraphics[width=5cm]{img/link_loop.eps} + \includegraphics[width=5cm]{img/link_loop} \caption{Esempio di loop nel filesystem creato con un link simbolico.} \label{fig:file_link_loop} \end{figure} @@ -574,7 +574,7 @@ Di questa funzione esiste una versione \func{char * getwd(char * buffer)} fatta per compatibilità all'indietro con BSD, che non consente di specificare la dimensione del buffer; esso deve essere allocato in precedenza ed avere una dimensione superiore a \macro{PATH\_MAX} (di solito 256 byte, vedi -\secref{sec:xxx_limits}); il problema è che in Linux non esiste una dimensione +\secref{sec:sys_limits}); il problema è che in Linux non esiste una dimensione superiore per un pathname, per cui non è detto che il buffer sia sufficiente a contenere il nome del file, e questa è la ragione principale per cui questa funzione è deprecata. @@ -1440,7 +1440,6 @@ accedere ad un certo file. Per cambiare i permessi di un file il sistema mette ad disposizione due funzioni, che operano rispettivamente su un filename e su un file descriptor, i loro prototipi sono: - \begin{functions} \headdecl{sys/types.h} \headdecl{sys/stat.h} @@ -1539,7 +1538,6 @@ privilegio. Oltre che dai valori indicati in sede di creazione, i permessi assegnati ai nuovi file sono controllati anche da una maschera di bit settata con la funzione \func{umask}, il cui prototipo è: - \begin{prototype}{stat.h} {mode\_t umask(mode\_t mask)} @@ -1576,7 +1574,6 @@ allora occorrer Come per i permessi, il sistema fornisce anche delle funzioni che permettano di cambiare utente e gruppo cui il file appartiene; le funzioni in questione sono tre e i loro prototipi sono i seguenti: - \begin{functions} \headdecl{sys/types.h} \headdecl{sys/stat.h}