diff options
author | Mark Spruiell <mes@zeroc.com> | 2002-03-10 22:49:39 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2002-03-10 22:49:39 +0000 |
commit | 8d782978f342e02dfa652a39af0c3145230bbbd7 (patch) | |
tree | 887a6817cb1241e93fa7f6a8d951d7ed21bda2e8 /java/src | |
parent | cleanup (diff) | |
download | ice-8d782978f342e02dfa652a39af0c3145230bbbd7.tar.bz2 ice-8d782978f342e02dfa652a39af0c3145230bbbd7.tar.xz ice-8d782978f342e02dfa652a39af0c3145230bbbd7.zip |
ignore IOException caused by Ctrl-C
Diffstat (limited to 'java/src')
-rw-r--r-- | java/src/IceInternal/ThreadPool.java | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/java/src/IceInternal/ThreadPool.java b/java/src/IceInternal/ThreadPool.java index 2e1c076b6a2..91017154b65 100644 --- a/java/src/IceInternal/ThreadPool.java +++ b/java/src/IceInternal/ThreadPool.java @@ -419,6 +419,17 @@ catch (RuntimeException ex) } catch (java.io.IOException ex) { + // + // Pressing Ctrl-C causes select() to raise an + // IOException, which seems like a JDK bug. We trap + // for that special case here and ignore it. + // Hopefully we're not masking something important! + // + if (ex.getMessage().indexOf("Interrupted system call") != -1) + { + continue repeatSelect; + } + Ice.SocketException se = new Ice.SocketException(); se.initCause(ex); throw se; |