summaryrefslogtreecommitdiff
path: root/cpp/src/Ice/Object.cpp
diff options
context:
space:
mode:
authorJose <jose@zeroc.com>2015-12-31 00:14:27 +0100
committerJose <jose@zeroc.com>2015-12-31 00:14:27 +0100
commit52d50fe96e73339b93efd5f54146d2fd01ca831d (patch)
treee8bb98b896c93943ba19fa8463ae54b406922096 /cpp/src/Ice/Object.cpp
parentC++ invoke test fixes (diff)
downloadice-52d50fe96e73339b93efd5f54146d2fd01ca831d.tar.bz2
ice-52d50fe96e73339b93efd5f54146d2fd01ca831d.tar.xz
ice-52d50fe96e73339b93efd5f54146d2fd01ca831d.zip
C++11 updates for IceLocatorDiscovery
- Fixes IceLocatorDiscovery to build with new C++11 mapping - Fixes to C++11 mapping for Bloject and ice_invoke async versions
Diffstat (limited to 'cpp/src/Ice/Object.cpp')
-rw-r--r--cpp/src/Ice/Object.cpp36
1 files changed, 36 insertions, 0 deletions
diff --git a/cpp/src/Ice/Object.cpp b/cpp/src/Ice/Object.cpp
index 637fa0977ad..c7af240dcac 100644
--- a/cpp/src/Ice/Object.cpp
+++ b/cpp/src/Ice/Object.cpp
@@ -434,6 +434,24 @@ Ice::BlobjectAsync::__dispatch(Incoming& in, const Current& current)
async->__response();
}
},
+ [async](exception_ptr e)
+ {
+ if(e)
+ {
+ try
+ {
+ rethrow_exception(e);
+ }
+ catch(const exception& ex)
+ {
+ async->ice_exception(ex);
+ }
+ }
+ else
+ {
+ async->ice_exception();
+ }
+ },
current);
}
catch(const ::std::exception& ex)
@@ -491,6 +509,24 @@ Ice::BlobjectArrayAsync::__dispatch(Incoming& in, const Current& current)
async->__response();
}
},
+ [async](exception_ptr e)
+ {
+ if(e)
+ {
+ try
+ {
+ rethrow_exception(e);
+ }
+ catch(const exception& ex)
+ {
+ async->ice_exception(ex);
+ }
+ }
+ else
+ {
+ async->ice_exception();
+ }
+ },
current);
}
catch(const ::std::exception& ex)