summaryrefslogtreecommitdiff
path: root/TAO/tao/ORB_Core.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/ORB_Core.cpp')
-rw-r--r--TAO/tao/ORB_Core.cpp14
1 files changed, 8 insertions, 6 deletions
diff --git a/TAO/tao/ORB_Core.cpp b/TAO/tao/ORB_Core.cpp
index a8235b9e5d0..f5450c6eac3 100644
--- a/TAO/tao/ORB_Core.cpp
+++ b/TAO/tao/ORB_Core.cpp
@@ -1620,6 +1620,9 @@ TAO_ORB_Core::create_object (TAO_Stub *stub)
// when we use collocation!
const TAO_MProfile &mprofile = stub->base_profiles ();
+ // @@ We should thow CORBA::NO_MEMORY in platforms with exceptions,
+ // but we are stuck in platforms without exceptions!
+ CORBA::Object_ptr x;
{
// @@ Ossama: maybe we need another lock for the table, to
// reduce contention on the Static_Object_Lock below, if so
@@ -1642,16 +1645,15 @@ TAO_ORB_Core::create_object (TAO_Stub *stub)
TAO_Adapter_Registry *ar =
other_core->adapter_registry ();
- return ar->create_collocated_object (stub,
- mprofile);
+ x = ar->create_collocated_object (stub,
+ mprofile);
+
+ if (x != 0)
+ return x;
}
}
}
- // @@ We should thow CORBA::NO_MEMORY in platforms with exceptions,
- // but we are stuck in platforms without exceptions!
- CORBA::Object_ptr x;
-
// The constructor sets the proxy broker as the
// Remote one.
ACE_NEW_RETURN (x,