X-Git-Url: https://gapil.gnulinux.it/gitweb/?p=gapil.git;a=blobdiff_plain;f=socket.tex;h=afde744c7b353aebe5a60d33783eece8f17315bc;hp=51afca695ec05f1cfeee81250ebc6453c0f8528f;hb=6686b8c78363c1e91e069b0ff9932929b7948136;hpb=4eaaee43e4e0df09fae1ba66466ee77ff78db517 diff --git a/socket.tex b/socket.tex index 51afca6..afde744 100644 --- a/socket.tex +++ b/socket.tex @@ -293,10 +293,30 @@ seguenti costanti:\footnote{le pagine di manuale POSIX riportano solo i primi pertanto non ne parleremo ulteriormente.} \end{basedescript} -Si tenga presente che non tutte le combinazioni fra una famiglia di protocolli -e un tipo di socket sono valide, in quanto non è detto che in una famiglia -esista un protocollo per ciascuno dei diversi stili di comunicazione appena -elencati. +A partire dal kernel 2.6.27 l'argomento \param{type} della funzione +\func{socket} assume un significato ulteriore perché può essere utlizzato per +impostare dei flag relativi alle caratteristiche generali del \textit{socket} +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}} +\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\_NONBLOCK}] crea il socket in modalità non-bloccante, con + effetti identici ad una successiva chiamata a \func{fcntl} per impostare il + flag di \const{O\_NONBLOCK} sul file descriptor (si faccia di nuovo + riferimenti al significato di quest'ultimo come spiegato in + tab.~\ref{tab:open_operation_flag}). +\end{basedescript} + + +Si tenga presente inoltre che non tutte le combinazioni fra una famiglia di +protocolli e un tipo di socket sono valide, in quanto non è detto che in una +famiglia esista un protocollo per ciascuno dei diversi stili di comunicazione +appena elencati. \begin{table}[htb] \footnotesize