From 44a00819736526f4cd1287c3d372c7c128c9035b Mon Sep 17 00:00:00 2001 From: Michael Kerrisk Date: Fri, 31 May 2019 16:45:51 +0200 Subject: [PATCH] socket.7: select()/poll()/epoll honor SO_RCVLOWAT since Linux 2.6.28 Signed-off-by: Michael Kerrisk --- man7/socket.7 | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/man7/socket.7 b/man7/socket.7 index df0757220..30b699a07 100644 --- a/man7/socket.7 +++ b/man7/socket.7 @@ -764,15 +764,19 @@ fails with the error .B SO_RCVLOWAT is changeable only since Linux 2.4. -The -.BR select (2) +.IP +Before Linux 2.6.28 +.\" commit c7004482e8dcb7c3c72666395cfa98a216a4fb70 +.BR select (2), +.BR poll (2), and -.BR poll (2) -system calls currently do not respect the +.BR epoll (7) +did not respect the .B SO_RCVLOWAT setting on Linux, -and mark a socket readable when even a single byte of data is available. -A subsequent read from the socket will block until +and indicated a socket as readable when even a single byte of data +was available. +A subsequent read from the socket would then block until .B SO_RCVLOWAT bytes are available. .\" See http://marc.theaimsgroup.com/?l=linux-kernel&m=111049368106984&w=2