Howto: TCP_KEEPIDLE ----> TCPTV_KEEP_IDLE ?

C-S c-s at c-s.li
Mon Aug 30 06:04:10 UTC 2010


I am trying to update the devel/clanlib port to the latest version when
running into this problem.

The patch for unix_socket.cpp looks like this:

==================================================
if (enable && timeout != 0 && interval != 0)
        {
-               setsockopt(handle, SOL_TCP, TCP_KEEPIDLE, (const char *) &timeout, sizeof(int));
-               setsockopt(handle, SOL_TCP, TCP_KEEPINTVL, (const char *) &interval, sizeof(int));
+               setsockopt(handle, IPPROTO_TCP, TCPTV_KEEP_IDLE, (const char *) &timeout, sizeof(int));
+               setsockopt(handle, IPPROTO_TCP, TCPTV_KEEPINTVL, (const char *) &interval, sizeof(int));
        }
 }
==================================================

However, when compiling I get the following error:

==================================================
Socket/unix_socket.cpp:146: error: 'hz' was not declared in this scope
==================================================

It seems to be that TCP_KEEPIDLE and TCPTV_KEEP_IDLE use different measures.
Does anybody have an idea how to handle that problem?

Many thanks...



More information about the freebsd-ports mailing list