diff options
author | Mark Spruiell <mes@zeroc.com> | 2003-09-25 16:11:44 +0000 |
---|---|---|
committer | Mark Spruiell <mes@zeroc.com> | 2003-09-25 16:11:44 +0000 |
commit | 5949fba4e8a300fcfd4bdc10eb69af171fdb7bed (patch) | |
tree | 6d550718ef707e68090ea1a68c4c98b8cc3db6b3 /cpp/src/slice2java/Gen.cpp | |
parent | Improved Evictor locking (diff) | |
download | ice-5949fba4e8a300fcfd4bdc10eb69af171fdb7bed.tar.bz2 ice-5949fba4e8a300fcfd4bdc10eb69af171fdb7bed.tar.xz ice-5949fba4e8a300fcfd4bdc10eb69af171fdb7bed.zip |
respect at-most-once semantics for collocated invocations
Diffstat (limited to 'cpp/src/slice2java/Gen.cpp')
-rw-r--r-- | cpp/src/slice2java/Gen.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/cpp/src/slice2java/Gen.cpp b/cpp/src/slice2java/Gen.cpp index c520e8eb214..cfb70dd5c8f 100644 --- a/cpp/src/slice2java/Gen.cpp +++ b/cpp/src/slice2java/Gen.cpp @@ -3324,6 +3324,8 @@ Slice::Gen::DelegateDVisitor::visitClassDefStart(const ClassDefPtr& p) out << nl << "__opEx.operation = __current.operation;"; out << nl << "throw __opEx;"; out << eb; + out << nl << "try"; + out << sb; out << nl; if(ret) { @@ -3339,6 +3341,11 @@ Slice::Gen::DelegateDVisitor::visitClassDefStart(const ClassDefPtr& p) { out << nl << "return;"; } + out << eb; + out << nl << "catch(Ice.LocalException __ex)"; + out << sb; + out << nl << "throw new IceInternal.NonRepeatable(__ex);"; + out << eb; out << eb; out << nl << "finally"; out << sb; |