summaryrefslogtreecommitdiff
path: root/cpp/src
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2005-02-18 13:25:40 +0000
committerMarc Laukien <marc@zeroc.com>2005-02-18 13:25:40 +0000
commit5835e6ccf5b8e4a65a4f6fa714334bf9a59e2fe5 (patch)
tree474b6db887a07067a7e31772880f607d4c80fdeb /cpp/src
parentFixed Sun CC build (diff)
downloadice-5835e6ccf5b8e4a65a4f6fa714334bf9a59e2fe5.tar.bz2
ice-5835e6ccf5b8e4a65a4f6fa714334bf9a59e2fe5.tar.xz
ice-5835e6ccf5b8e4a65a4f6fa714334bf9a59e2fe5.zip
glacier fix
Diffstat (limited to 'cpp/src')
-rw-r--r--cpp/src/Glacier2/RequestQueue.cpp15
1 files changed, 11 insertions, 4 deletions
diff --git a/cpp/src/Glacier2/RequestQueue.cpp b/cpp/src/Glacier2/RequestQueue.cpp
index 15014decdc2..39064513d0e 100644
--- a/cpp/src/Glacier2/RequestQueue.cpp
+++ b/cpp/src/Glacier2/RequestQueue.cpp
@@ -105,7 +105,7 @@ Glacier2::Request::override(const RequestPtr& other) const
bool
Glacier2::Request::isBatch() const
{
- return _proxy->ice_batchOneway() || _proxy->ice_batchDatagram();
+ return _proxy->ice_isBatchOneway() || _proxy->ice_isBatchDatagram();
}
ConnectionPtr
@@ -220,17 +220,24 @@ Glacier2::RequestQueue::run()
{
if((*p)->isBatch())
{
- flushSet.insert((*p)->getConnection());
+ try
+ {
+ flushSet.insert((*p)->getConnection());
+ }
+ catch(const LocalException&)
+ {
+ // Ignore.
+ }
}
- (*p)->invoke();
+ (*p)->invoke(); // Exceptions are caught within invoke().
}
for(set<ConnectionPtr>::const_iterator q = flushSet.begin(); q != flushSet.end(); ++q)
{
try
{
- for_each(flushSet.begin(), flushSet.end(), Ice::voidMemFun(&Connection::flushBatchRequests));
+ (*q)->flushBatchRequests();
}
catch(const LocalException&)
{