diff options
author | Benoit Foucher <benoit@zeroc.com> | 2008-03-10 20:37:20 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2008-03-10 20:37:20 +0100 |
commit | f01293d8f1e1dc0b77a1ebe20a2a55cb7cc7e41c (patch) | |
tree | 58a8e381c3266facc8e707b13cd0aa29757757cb /cpp/src/Ice/ConnectionFactory.cpp | |
parent | Merge branch 'master' of ssh://git/home/git/ice (diff) | |
download | ice-f01293d8f1e1dc0b77a1ebe20a2a55cb7cc7e41c.tar.bz2 ice-f01293d8f1e1dc0b77a1ebe20a2a55cb7cc7e41c.tar.xz ice-f01293d8f1e1dc0b77a1ebe20a2a55cb7cc7e41c.zip |
Fix for bug 2721
Diffstat (limited to 'cpp/src/Ice/ConnectionFactory.cpp')
-rw-r--r-- | cpp/src/Ice/ConnectionFactory.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/cpp/src/Ice/ConnectionFactory.cpp b/cpp/src/Ice/ConnectionFactory.cpp index 9ee0e53b924..ce807c91269 100644 --- a/cpp/src/Ice/ConnectionFactory.cpp +++ b/cpp/src/Ice/ConnectionFactory.cpp @@ -1276,8 +1276,15 @@ IceInternal::IncomingConnectionFactory::message(BasicStream&, const ThreadPoolPt { transceiver = _acceptor->accept(); } - catch(const SocketException&) + catch(const SocketException& ex) { + if(noMoreFds(ex.error)) + { + Error out(_instance->initializationData().logger); + out << "fatal error: can't accept more connections:\n" << ex << '\n' << _acceptor->toString(); + abort(); + } + // Ignore socket exceptions. return; } |