summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-04-07 14:13:06 +0000
committerparsons <parsons@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2010-04-07 14:13:06 +0000
commitf19e41f080cabbe01c8379a9b1e3f469202df3d4 (patch)
tree3549bb9e41095e050c33128a920f81e8cfc0551b
parent886fc697e67ccb1eff933dd26c6976116631f63d (diff)
downloadATCD-f19e41f080cabbe01c8379a9b1e3f469202df3d4.tar.gz
ChangeLogTag: Wed Apr 7 14:10:10 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
-rw-r--r--TAO/ChangeLog10
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp2
-rw-r--r--TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp22
3 files changed, 26 insertions, 8 deletions
diff --git a/TAO/ChangeLog b/TAO/ChangeLog
index aee5b6f91ab..5bff45ed6c2 100644
--- a/TAO/ChangeLog
+++ b/TAO/ChangeLog
@@ -1,3 +1,13 @@
+Wed Apr 7 14:10:10 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
+
+ * TAO_IDL/be/be_visitor_component/servant_svh.cpp:
+ * TAO_IDL/be/be_visitor_component/servant_svs.cpp:
+
+ Added checks to eliminate generation and use of
+ populate_port_tables() if the component has neither
+ facets nor event sinks, since this method will be
+ effectively a no-op in that case anyway.
+
Wed Apr 7 13:47:38 UTC 2010 Jeff Parsons <j.parsons@vanderbilt.edu>
* TAO_IDL/be/be_component.cpp:
diff --git a/TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp b/TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp
index a051e7f1366..d32039b96b5 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/servant_svh.cpp
@@ -448,6 +448,8 @@ be_visitor_servant_svh::gen_non_type_specific (void)
<< "get_facet_executor (const char * name);";
}
+ /// No need for this method if the component has neither
+ /// facets nor event sinks.
if (this->node_->has_provides () || this->node_->has_consumes ())
{
os_ << be_uidt_nl << be_nl
diff --git a/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp b/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp
index 54207f4fd0a..f084c30503c 100644
--- a/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp
+++ b/TAO/TAO_IDL/be/be_visitor_component/servant_svs.cpp
@@ -99,14 +99,20 @@ be_visitor_servant_svs::visit_component (be_component *node)
-1);
}
- os_ << "try" << be_idt_nl
- << "{" << be_idt_nl
- << "this->populate_port_tables ();" << be_uidt_nl
- << "}" << be_uidt_nl
- << "catch (const ::CORBA::Exception &)" << be_idt_nl
- << "{" << be_nl
- << "}" << be_uidt << be_uidt_nl
- << "}";
+ /// If a component has neither facets nor event sinks, the
+ /// populate_port_tables() method isn't generated.
+ if (this->node_->has_provides () || this->node_->has_consumes ())
+ {
+ os_ << "try" << be_idt_nl
+ << "{" << be_idt_nl
+ << "this->populate_port_tables ();" << be_uidt_nl
+ << "}" << be_uidt_nl
+ << "catch (const ::CORBA::Exception &)" << be_idt_nl
+ << "{" << be_nl
+ << "}" << be_uidt << be_uidt_nl;
+ }
+
+ os_ << "}";
os_ << be_nl << be_nl
<< lname << "_Servant::~"