summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Selector.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2017-01-18 19:16:02 +0100
committerBenoit Foucher <benoit@zeroc.com>2017-01-18 19:16:02 +0100
commit4baf696c7156c9f300a33d9041bd677c574b6e14 (patch)
tree15d736254302f6b01260134a97f3bdfc04ff9738 /cpp/src/Ice/Selector.cpp
parentFixed bug introduced by previous commit (diff)
downloadice-4baf696c7156c9f300a33d9041bd677c574b6e14.tar.bz2
ice-4baf696c7156c9f300a33d9041bd677c574b6e14.tar.xz
ice-4baf696c7156c9f300a33d9041bd677c574b6e14.zip
Fixed ICE-2802 - no longer halt when running out of FDs
Diffstat (limited to 'cpp/src/Ice/Selector.cpp')
-rw-r--r--cpp/src/Ice/Selector.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/cpp/src/Ice/Selector.cpp b/cpp/src/Ice/Selector.cpp
index c08cb559c55..d87e198c0e1 100644
--- a/cpp/src/Ice/Selector.cpp
+++ b/cpp/src/Ice/Selector.cpp
@@ -163,12 +163,10 @@ Selector::getNextHandler(SocketOperation& status, int timeout)
}
else
{
- {
- Ice::SocketException ex(__FILE__, __LINE__, err);
- Ice::Error out(_instance->initializationData().logger);
- out << "fatal error: couldn't dequeue packet from completion port:\n" << ex;
- }
- abort();
+ Ice::SocketException ex(__FILE__, __LINE__, err);
+ Ice::Error out(_instance->initializationData().logger);
+ out << "couldn't dequeue packet from completion port:\n" << ex;
+ IceUtil::ThreadControl::sleep(IceUtil::Time::seconds(5)); // Sleep 5s to avoid looping
}
}
AsyncInfo* info = static_cast<AsyncInfo*>(ol);
@@ -832,12 +830,10 @@ Selector::select(int timeout)
continue;
}
- {
- Ice::SocketException ex(__FILE__, __LINE__, IceInternal::getSocketErrno());
- Ice::Error out(_instance->initializationData().logger);
- out << "fatal error: selector failed:\n" << ex;
- }
- abort();
+ Ice::SocketException ex(__FILE__, __LINE__, IceInternal::getSocketErrno());
+ Ice::Error out(_instance->initializationData().logger);
+ out << "selector failed:\n" << ex;
+ IceUtil::ThreadControl::sleep(IceUtil::Time::seconds(5)); // Sleep 5s to avoid looping
}
break;
}