X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=fileadv.tex;h=445d9c73fd613ef378ab181d1ed7924cc6d79a0e;hp=ce328748c716953330fa39a6385250fd58066c41;hb=fcd431ebcd9f7a65680a669a2740ef5a2586531c;hpb=b99370b46df36884995d94ed00de41aa51b4e027 diff --git a/fileadv.tex b/fileadv.tex index ce32874..445d9c7 100644 --- a/fileadv.tex +++ b/fileadv.tex @@ -192,12 +192,11 @@ rimanente.\footnote{questo pu Uno dei problemi che si presentano con l'uso di \func{select} è che il suo comportamento dipende dal valore del file descriptor che si vuole tenere sotto -controllo. Infatti il kernel riceve solo un valore massimo, e dovrà -effettuare una scansione su tutto l'intervallo, che può essere anche molto -ampio, per capire quali sono i file descriptor da tenere sotto controllo, -anche se sono solo poche unità; e questo ha ovviamente un pessimo risultato -per le prestazioni; il comportamenento viene della funzione viene così a -dipendere in maniera innaturale dal valore del file decriptor. +controllo. Infatti il kernel riceve con \param{n} un valore massimo per tale +valore, e per capire quali sono i file descriptor da tenere sotto controllo +dovrà effettuare una scansione su tutto l'intervallo, che può anche essere +anche molto ampio anche se i file descriptor sono solo poche unità; tutto ciò +ha ovviamente delle conseguenze ampiamente negative per le prestazioni. Inoltre c'è anche il problema che il numero massimo dei file che si possono tenere sotto controllo, la funzione è nata quando il kernel consentiva un @@ -256,27 +255,27 @@ vengono utilizzati solo per \var{revents} come valori in uscita). \begin{table}[htb] \centering \footnotesize - \begin{tabular}[c]{|l|c|l|} + \begin{tabular}[c]{|l|l|} \hline - \textbf{Flag} & \textbf{Valore} & \textbf{Significato} \\ + \textbf{Flag} & \textbf{Significato} \\ \hline \hline - \const{POLLIN} & 0x001 & È possibile la lettura immediata.\\ - \const{POLLPRI} & 0x002 & Sono presenti dati urgenti.\\ - \const{POLLOUT} & 0x004 & È possibile la scrittura immediata.\\ + \const{POLLIN} & È possibile la lettura immediata.\\ + \const{POLLPRI} & Sono presenti dati urgenti.\\ + \const{POLLOUT} & È possibile la scrittura immediata.\\ \hline - \const{POLLERR} & 0x008 & C'è una condizione di errore.\\ - \const{POLLHUP} & 0x010 & Si è verificato un hung-up.\\ - \const{POLLNVAL} & 0x020 & Il file descriptor non è aperto.\\ + \const{POLLERR} & C'è una condizione di errore.\\ + \const{POLLHUP} & Si è verificato un hung-up.\\ + \const{POLLNVAL} & Il file descriptor non è aperto.\\ \hline - \const{POLLRDNORM}& 0x040 & Sono disponibili in lettura dati normali.\\ - \const{POLLRDBAND}& 0x080 & Sono disponibili in lettura dati ad alta - priorità. \\ - \const{POLLWRNORM}& 0x100 & È possibile la scrittura di dati normali. \\ - \const{POLLWRBAND}& 0x200 & È possibile la scrittura di dati ad - alta priorità. \\ - \const{POLLMSG} & 0x400 & Un segnale \const{SIGPOLL} è arrivato alla - cima dello stream.\\ + \const{POLLRDNORM}& Sono disponibili in lettura dati normali.\\ + \const{POLLRDBAND}& Sono disponibili in lettura dati ad alta + priorità. \\ + \const{POLLWRNORM}& È possibile la scrittura di dati normali. \\ + \const{POLLWRBAND}& È possibile la scrittura di dati ad + alta priorità. \\ + \const{POLLMSG} & Un segnale \const{SIGPOLL} è arrivato alla + cima dello stream (non usato).\\ \hline \end{tabular} \caption{Costanti per l'identificazione dei vari bit dei campi