gd1100 at gmail.com
Tue Jan 27 11:49:33 EST 2015
I am bothered with very simple situaction. Lets say we have a TCP connection:
S1 <----> S2
Lets assume that this connection is using blocking sockets. and that
both hosts: s1 and s2 are using SO_KEEPALIVE. If they both are not
using this connection then the kernel? is sending packets with no data
to keep connection alive.
I have marked "the kernel?" because I am not sure who does this. I
think its the kernel but I am not sure.
What would happen if only one of them would use keepalive? Could that
empty packet break the loop inside of sk_busy_loop function and return
empty data to the application layer? Or would that while loop body
Hehe is the code (the while loop starts on 128 line)
More information about the Kernelnewbies