summaryrefslogtreecommitdiff
path: root/TAO/tao/ORB.cpp
diff options
context:
space:
mode:
authormk1 <mk1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-07-21 14:56:26 +0000
committermk1 <mk1@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-07-21 14:56:26 +0000
commit144922f9e891c3bed30f72d9d206acfa25373d7e (patch)
treebeb8b22f5243868b5540d190137afeb18eb5992c /TAO/tao/ORB.cpp
parent2c0eb6dd85bb439a49a5bb7e5c58a13c3fe8c476 (diff)
downloadATCD-144922f9e891c3bed30f72d9d206acfa25373d7e.tar.gz
ChangeLog entry: Tue Jul 21 10:00:00 1998 Michael Kircher <mk1@cs.wustl.edu>
Diffstat (limited to 'TAO/tao/ORB.cpp')
-rw-r--r--TAO/tao/ORB.cpp27
1 files changed, 19 insertions, 8 deletions
diff --git a/TAO/tao/ORB.cpp b/TAO/tao/ORB.cpp
index f5a13289e7f..e088ff312b5 100644
--- a/TAO/tao/ORB.cpp
+++ b/TAO/tao/ORB.cpp
@@ -82,8 +82,10 @@ CORBA_ORB::CORBA_ORB (void)
event_service_ (CORBA_Object::_nil ()),
trading_service_ (CORBA_Object::_nil ())
{
+ leader_follower_info_.leaders_ = 0;
+ leader_follower_info_.leader_thread_ID_ = 0;
this->cond_become_leader_ =
- new ACE_SYNCH_CONDITION (TAO_ORB_Core_instance ()->leader_follower_lock ());
+ new ACE_SYNCH_CONDITION (leader_follower_info_.leader_follower_lock_);
}
CORBA_ORB::~CORBA_ORB (void)
@@ -235,10 +237,10 @@ CORBA_ORB::run (ACE_Time_Value *tv)
while (TAO_ORB_Core_instance ()->leader_available ())
{
- if (TAO_ORB_Core_instance ()->add_follower (this->cond_become_leader_) == -1)
- ACE_ERROR ((LM_ERROR,
- "(%P|%t) ORB::run: Failed to add a follower thread\n"));
- this->cond_become_leader_->wait ();
+ if (TAO_ORB_Core_instance ()->add_follower (this->cond_become_leader_) == -1)
+ ACE_ERROR ((LM_ERROR,
+ "(%P|%t) ORB::run: Failed to add a follower thread\n"));
+ this->cond_become_leader_->wait ();
}
TAO_ORB_Core_instance ()->set_leader_thread ();
}
@@ -321,9 +323,9 @@ CORBA_ORB::run (ACE_Time_Value *tv)
if (result != -1)
{
if (TAO_ORB_Core_instance ()->unset_leader_wake_up_follower () == -1)
- ACE_ERROR_RETURN ((LM_ERROR,
- "(%P|%t) ORB::run: Failed to add a follower thread\n"),
- -1);
+ ACE_ERROR_RETURN ((LM_ERROR,
+ "(%P|%t) ORB::run: Failed to add a follower thread\n"),
+ -1);
return 0;
// nothing went wrong
}
@@ -653,6 +655,14 @@ CORBA_ORB::key_to_object (const TAO_ObjectKey &key,
return new_obj;
}
+TAO_Leader_Follower_Info &
+CORBA_ORB::leader_follower_info (void)
+// get access to the leader_follower_info
+{
+ return leader_follower_info_;
+}
+
+
// String utility support; this can need to be integrated with the
// ORB's own memory allocation subsystem.
@@ -822,6 +832,7 @@ CORBA::ORB_init (int &argc,
return TAO_ORB_Core_instance()->orb ();
}
+
// *************************************************************
// Inline operators for TAO_opaque encoding and decoding
// *************************************************************