diff options
author | Benoit Foucher <benoit@zeroc.com> | 2007-01-23 14:42:41 +0000 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2007-01-23 14:42:41 +0000 |
commit | 59e520bae09191f5cb317fd4a7fbe0e1e89515f1 (patch) | |
tree | 8595d43d698c05cb393009eb1a7fc6971a5aeb26 /cpp/src/slice2javae/Gen.cpp | |
parent | Made batch auto-flush default (diff) | |
download | ice-59e520bae09191f5cb317fd4a7fbe0e1e89515f1.tar.bz2 ice-59e520bae09191f5cb317fd4a7fbe0e1e89515f1.tar.xz ice-59e520bae09191f5cb317fd4a7fbe0e1e89515f1.zip |
Fixed bug 1693
Diffstat (limited to 'cpp/src/slice2javae/Gen.cpp')
-rw-r--r-- | cpp/src/slice2javae/Gen.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/cpp/src/slice2javae/Gen.cpp b/cpp/src/slice2javae/Gen.cpp index caaa32ecafb..38f6cca5c5f 100644 --- a/cpp/src/slice2javae/Gen.cpp +++ b/cpp/src/slice2javae/Gen.cpp @@ -2253,13 +2253,14 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p) out << nl << "int __cnt = 0;"; out << nl << "while(true)"; out << sb; + out << nl << "Ice.Connection __connection = null;"; out << nl << "try"; out << sb; if(op->returnsData()) { out << nl << "__checkTwowayOnly(\"" << opName << "\");"; } - out << nl << "Ice.Connection __connection = ice_getConnection();"; + out << nl << "__connection = ice_getConnection();"; out << nl << "IceInternal.Outgoing __og = __connection.getOutgoing(_reference, \"" << op->name() << "\", " << sliceModeToIceMode(op->sendMode()) << ", __ctx);"; out << nl << "try"; @@ -2338,16 +2339,16 @@ Slice::Gen::HelperVisitor::visitClassDefStart(const ClassDefPtr& p) out << sb; if(op->mode() == Operation::Idempotent || op->mode() == Operation::Nonmutating) { - out << nl << "__cnt = __handleExceptionWrapperRelaxed(__ex, __cnt);"; + out << nl << "__cnt = __handleExceptionWrapperRelaxed(__connection, __ex, __cnt);"; } else { - out << nl << "__handleExceptionWrapper(__ex);"; + out << nl << "__handleExceptionWrapper(__connection, __ex);"; } out << eb; out << nl << "catch(Ice.LocalException __ex)"; out << sb; - out << nl << "__cnt = __handleException(__ex, __cnt);"; + out << nl << "__cnt = __handleException(__connection, __ex, __cnt);"; out << eb; out << eb; out << eb; |