summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Selector.cpp
diff options
context:
space:
mode:
authorBenoit Foucher <benoit@zeroc.com>2013-07-12 14:07:08 +0200
committerBenoit Foucher <benoit@zeroc.com>2013-07-12 14:07:08 +0200
commite0064a1ce41067e40eb1495745e3499e836f1a61 (patch)
treeca41e7d77ff2da9d02775a4209c2e0009868053d /cpp/src/Ice/Selector.cpp
parentICE-5377 - clang optimized build failure (diff)
downloadice-e0064a1ce41067e40eb1495745e3499e836f1a61.tar.bz2
ice-e0064a1ce41067e40eb1495745e3499e836f1a61.tar.xz
ice-e0064a1ce41067e40eb1495745e3499e836f1a61.zip
Fix to allow transceivers to read more data than requested.
Diffstat (limited to 'cpp/src/Ice/Selector.cpp')
-rw-r--r--cpp/src/Ice/Selector.cpp3
1 files changed, 1 insertions, 2 deletions
diff --git a/cpp/src/Ice/Selector.cpp b/cpp/src/Ice/Selector.cpp
index c9763d6e2a9..48de01df197 100644
--- a/cpp/src/Ice/Selector.cpp
+++ b/cpp/src/Ice/Selector.cpp
@@ -140,6 +140,7 @@ Selector::initialize(EventHandler* handler)
throw ex;
}
handler->__incRef();
+ handler->getNativeInfo()->initialize(_handle, reinterpret_cast<ULONG_PTR>(handler));
}
void
@@ -482,7 +483,6 @@ Selector::select(vector<pair<EventHandler*, SocketOperation> >& handlers, int ti
}
assert(ret > 0);
- handlers.clear();
for(int i = 0; i < ret; ++i)
{
pair<EventHandler*, SocketOperation> p;
@@ -701,7 +701,6 @@ Selector::select(vector<pair<EventHandler*, SocketOperation> >& handlers, int ti
}
assert(ret > 0);
- handlers.clear();
#if defined(ICE_USE_SELECT)
if(_selectedReadFdSet.fd_count == 0 && _selectedWriteFdSet.fd_count == 0 && _selectedErrorFdSet.fd_count == 0)