Subject Long timeout on network errors
Author alcaielli
Hi
I'm writing a distributed client-server application
on Linux using FB 1.5.
My client on machine 1 succesfully connects to the remote DB
on machine 2 (which is running FB SuperServer) and
some sql transaction took place on this connection.
All is ok until i simulate a network malfunction
unplugging the RJ45 cable on machine 1.
Then when I try to start one more transaction on the same
db connection, the call that i made will stand for about 15
minutes before signaling the error:

ISC ERROR CODE 335544721
Unable to complete network request to host 10.0.0.15
Error reading data from the connection.

The error is the right one but I need a way to let the call
return at last after 1 second signaling the error.
It seems that the FB client calls are working in blocking mode
and I need some sort of "asyncronous" mode.

I've tried the same test on a Win32 client and on this platform
the error is returned after about 3 seconds.

The test can be done also using ISQL:
- connect on a remote DB
- select data from a table
- unplug the RJ45
- select data from remote DB
the last select blocks for about 15 minutes only in Linux isql.

Many Thanks to all that can help me without modifying
tcp kernel parameters.

Alberto Caielli