From 90dde6d4d39507811d2bf3cf4d011714d0e1697a Mon Sep 17 00:00:00 2001 From: Simone Piccardi Date: Thu, 19 Jul 2018 13:30:20 +0000 Subject: [PATCH] Note varie --- signal.tex | 4 +++- sockadv.tex | 5 +++++ sockctrl.tex | 15 ++++++++------- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/signal.tex b/signal.tex index 307b0d3..fdd2e6f 100644 --- a/signal.tex +++ b/signal.tex @@ -3045,7 +3045,9 @@ tab.~\ref{tab:sig_timer_clockid_types}. % TODO: dal 4.17 CLOCK_MONOTONIC e CLOCK_BOOTTIME sono identici vedi % https://lwn.net/Articles/751651/ e -% https://git.kernel.org/linus/d6ed449afdb38f89a7b38ec50e367559e1b8f71f +% https://git.kernel.org/linus/d6ed449afdb38f89a7b38ec50e367559e1b8f71f +% change reverted, vedi: https://lwn.net/Articles/752757/ + % NOTE: dal 3.0 anche i cosiddetti Posix Alarm Timers, con % CLOCK_REALTIME_ALARM vedi http://lwn.net/Articles/429925/ diff --git a/sockadv.tex b/sockadv.tex index 89b5b5b..98cb8dc 100644 --- a/sockadv.tex +++ b/sockadv.tex @@ -31,6 +31,11 @@ disponibili con i vari tipi di socket. Da fare + +% TODO: note su MSG_ZEROCOPY/SOCK_ZEROCOPY, aggiunte con il kernel 4.14 (e per +% la ricezione con il kernel 4.18, vedi https://lwn.net/Articles/726917/ e +% https://lwn.net/Articles/752300/ + \subsection{La funzioni \func{sendmsg} e \func{recvmsg}} \label{sec:net_sendmsg} diff --git a/sockctrl.tex b/sockctrl.tex index 7d860f3..d8667d2 100644 --- a/sockctrl.tex +++ b/sockctrl.tex @@ -2559,13 +2559,14 @@ tab.~\ref{tab:sock_opt_socklevel} sul significato delle varie opzioni: segnalando ad una \func{select} (vedi sez.~\ref{sec:TCP_sock_select}) che ci sono dati in ingresso. L'opzione utilizza per \param{optval} un intero che specifica il numero di byte; con Linux questo valore è sempre 1 e può essere - cambiato solo con i kernel a partire dal 2.4. Si tenga presente però che - \func{poll} e \func{select} non supportano ancora questa funzionalità e - ritornano comunque, indicando il socket come leggibile, non appena almeno un - byte è presente mentre in una successiva lettura \func{read} si bloccherà - fintanto che non siano disponibili la quantità di byte indicati. Con - \func{getsockopt} si può leggere questo valore mentre \func{setsockopt} darà - un errore di \errcode{ENOPROTOOPT} quando il cambiamento non è supportato. + cambiato solo con i kernel a partire dal 2.4. Si tenga presente però che per + i kernel prima del 2.6.28 sia \func{poll} che \func{select} non supportano + questa funzionalità e ritornano comunque, indicando il socket come + leggibile, non appena almeno un byte è presente, con una successiva lettura + con \func{read} che si blocca fintanto che non diventa disponibile la + quantità di byte indicati. Con \func{getsockopt} si può leggere questo + valore mentre \func{setsockopt} darà un errore di \errcode{ENOPROTOOPT} + quando il cambiamento non è supportato. \item[\constd{SO\_RCVTIMEO}] l'opzione permette di impostare un tempo massimo sulle operazioni di lettura da un socket, e prende per \param{optval} una -- 2.30.2