[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <4B4317AD.1040302@free.fr>
Date: Tue, 05 Jan 2010 11:42:53 +0100
From: Daniel Lezcano <daniel.lezcano@...e.fr>
To: Linux Netdev List <netdev@...r.kernel.org>
Subject: getsockopt(TCP_DEFER_ACCEPT) value change
Hi,
I noticed a change in the value returned by the getsockopt for the
TCP_DEFER_ACCEPT option with a 2.6.32 kernel. The value retrieved with
the getsockopt is different from the one specified with the setsockopt.
Is it an expected behaviour ?
I saw there were changes around the TCP_DEFER_ACCEPT option with the
number of attempts converted to a number of seconds.
The following program is working fine with a 2.6.31 but fails with a
2.6.32 kernel.
Thanks
-- Daniel
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
int main(int argc, char *argv[])
{
int val1 = 12, val2;
socklen_t len = sizeof(val2);
int fd;
fd = socket(PF_INET, SOCK_STREAM, 0);
if (fd < 0) {
perror("socket");
return -1;
}
if (setsockopt(fd, SOL_TCP, TCP_DEFER_ACCEPT, &val1, sizeof(val1))) {
perror("setsockopt");
return -1;
}
if (getsockopt(fd, SOL_TCP, TCP_DEFER_ACCEPT, &val2, &len)) {
perror("getsockopt");
return -1;
}
if (val1 != val2) {
fprintf(stderr, "error %d != %d\n", val1, val2);
return -1;
}
return 0;
}
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists