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