summaryrefslogtreecommitdiff
path: root/TAO/performance-tests/Throughput/Receiver_Factory.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/performance-tests/Throughput/Receiver_Factory.cpp')
-rw-r--r--TAO/performance-tests/Throughput/Receiver_Factory.cpp13
1 files changed, 12 insertions, 1 deletions
diff --git a/TAO/performance-tests/Throughput/Receiver_Factory.cpp b/TAO/performance-tests/Throughput/Receiver_Factory.cpp
index 15fe8ec5aea..67d83c75843 100644
--- a/TAO/performance-tests/Throughput/Receiver_Factory.cpp
+++ b/TAO/performance-tests/Throughput/Receiver_Factory.cpp
@@ -20,7 +20,18 @@ Receiver_Factory::create_receiver (void)
CORBA::NO_MEMORY ());
PortableServer::ServantBase_var transfer_ownership(receiver_impl);
- return receiver_impl->_this ();
+ CORBA::Object_var poa_object =
+ this->orb_->resolve_initial_references("RootPOA");
+
+ PortableServer::POA_var root_poa =
+ PortableServer::POA::_narrow (poa_object.in ());
+
+ PortableServer::ObjectId_var id =
+ root_poa->activate_object (receiver_impl);
+
+ CORBA::Object_var object = root_poa->id_to_reference (id.in ());
+
+ return Test::Receiver::_narrow (object.in ());
}
void