From: Dvorkin (
Date: Wed Dec 17 2003 - 14:35:42 EST

Hello! sorry for my english...

I have a problem in NONBLOCK TCP sockets...

( Linux 2.4.18mdk)
the socket is client socket. after the creating i set it to NONBLOCK and
set linger = { 1, 0 } - close socket with RST
the socket is connecting, sending/reaciving data... then the moment, when
no data to send or recv... the other side (server) wants to close the

1) client.port > mysocket.port F seq_number
2) mysqocket.port > client.port . ack
server is waiting up to 2 seconds, then sends RST:
3) client.port > mysocket.port R seq_number

the connection is dissapeared from netstat -a | grep "tcp"!
but the non-blocked recv function still not reports the error... it is not
reports error at all!
ECONNRESET generated only next time when my client tryes to send the data
(may be next hour)...

I have no idea how to determine if the connection is closed...
Any ideas?

WBR, Dvorkin

To unsubscribe from this list: send the line "unsubscribe linux-net" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at