Red Hat Bugzilla – Bug 163120
socket(7) is wrong regarding RCVLOWAT
Last modified: 2007-11-30 17:11:09 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.8) Gecko/20050511 Firefox/1.0.4
Description of problem:
The man pages say that socket options SO_SNDLOWAT and SO_RCVLOWAT are not changeable in Linux and attempting to set them will return ENOPROTOOPT.
SNDLOWAT is not settable but RCVLOWAT is (I tried it), and the man page should reflect this.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
int i, j, lowat;
lowat = 1000;
i = socket(PF_INET, SOCK_STREAM, 0);
j = setsockopt(i, SOL_SOCKET, SO_RCVLOWAT, &lowat, sizeof(lowat));
printf("the manpage is wrong\n");
Thank you for your notice. This man page is fixed in the last version of
The fixed version is:
SO_RCVLOWAT and SO_SNDLOWAT
Specify the minimum number of bytes in the buffer until the
socket layer will pass the data to the protocol (SO_SNDLOWAT)
or the user on receiving (SO_RCVLOWAT). Their argument size is
always fixed to 1 byte. SO_SNDLOWAT is not changeable in
Linux. SO_RCVLOWAT option is changeable only since Linux 2.4.
getsockopt is able to read them; setsockopt will always return