diff options
Diffstat (limited to 'java/src/IceInternal/IncomingConnectionFactory.java')
-rw-r--r-- | java/src/IceInternal/IncomingConnectionFactory.java | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/java/src/IceInternal/IncomingConnectionFactory.java b/java/src/IceInternal/IncomingConnectionFactory.java index d231b2eea04..2a6b1263e2a 100644 --- a/java/src/IceInternal/IncomingConnectionFactory.java +++ b/java/src/IceInternal/IncomingConnectionFactory.java @@ -252,6 +252,20 @@ public final class IncomingConnectionFactory extends EventHandler implements Ice } catch(Ice.SocketException ex) { + if(Network.noMoreFds(ex.getCause())) + { + try + { + String s = "fatal error: can't accept more connections:\n" + ex.getCause().getMessage(); + s += '\n' + _acceptor.toString(); + _instance.initializationData().logger.error(s); + } + finally + { + Runtime.getRuntime().halt(1); + } + } + // Ignore socket exceptions. return; } |