It seems as though the incorrect Exception is being thrown in jdk1.1.5v7.
According to the Java documentation for java.net.Socket,
--
public synchronized void setSoTimeout(int timeout) throws SocketException
Enable/disable SO_TIMEOUT with the specified timeout, in
milliseconds. With this option set to a non-zero timeout, a read() call on
the InputStream associated with this Socket will block for only this
amount of time. If the timeout expires, a java.io.InterruptedIOException
is raised, though the Socket is still valid. The option must be enabled
prior to entering the blocking operation to have effect. The timeout must
be > 0. A timeout of zero is interpreted as an infinite timeout.
---
But instead of an InterruptedIOException, I'm getting a SocketException
with the message "Interrupted System Call."
Can someone look in the source for the JDK to make sure that the proper
exception is being thrown? I haven't found time to generate a test case
on this yet, to prove it.
-John
_____________________________________________________________________________
"The human mind is a 400,000-year-old legacy application...and you expected
to find structured programming?" -- Randall Davis, 1996 AAAI Pres. Address