Add missing writeEnd calls
authorMark Slee <mcslee@apache.org>
Fri, 14 Sep 2007 22:18:09 +0000 (22:18 +0000)
committerMark Slee <mcslee@apache.org>
Fri, 14 Sep 2007 22:18:09 +0000 (22:18 +0000)
Summary: When flush is called this also should be

Reviewed By: aditya

Test Plan: Use w/ PipedTransport. Should writeEnd() when an exception is thrown

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665261 13f79535-47bb-0310-9956-ffa450edef68

compiler/cpp/src/generate/t_cpp_generator.cc

index 6de7452..7a31bc6 100644 (file)
@@ -1460,7 +1460,8 @@ void t_cpp_generator::generate_service_client(t_service* tservice) {
       indent() << "args.write(oprot_);" << endl <<
       endl <<
       indent() << "oprot_->writeMessageEnd();" << endl <<
-      indent() << "oprot_->getTransport()->flush();" << endl;
+      indent() << "oprot_->getTransport()->flush();" << endl <<
+      indent() << "oprot_->getTransport()->writeEnd();" << endl;
 
     scope_down(f_service_);
     f_service_ << endl;
@@ -1672,6 +1673,7 @@ void t_cpp_generator::generate_service_processor(t_service* tservice) {
     indent() << "  x.write(oprot);" << endl <<
     indent() << "  oprot->writeMessageEnd();" << endl <<
     indent() << "  oprot->getTransport()->flush();" << endl <<
+    indent() << "  oprot->getTransport()->writeEnd();" << endl <<
     indent() << "  return true;" << endl <<
     indent() << "}" << endl <<
     endl <<
@@ -1702,6 +1704,7 @@ void t_cpp_generator::generate_service_processor(t_service* tservice) {
       indent() << "  x.write(oprot);" << endl <<
       indent() << "  oprot->writeMessageEnd();" << endl <<
       indent() << "  oprot->getTransport()->flush();" << endl <<
+      indent() << "  oprot->getTransport()->writeEnd();" << endl <<
       indent() << "  return true;" << endl;
   } else {
     f_service_ <<