summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-09-23 07:02:13 +0000
committerirfan <irfan@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>1998-09-23 07:02:13 +0000
commit53610c352461a60657137074bdffdc42d75dc3f3 (patch)
tree7da44f4a1e68d48b2180e5d9cb6b053ec17fd09c
parent2482bfbb977e3244c837a34b736a980a0bc09ee3 (diff)
downloadATCD-53610c352461a60657137074bdffdc42d75dc3f3.tar.gz
*** empty log message ***
-rw-r--r--TAO/ChangeLog-98c5
-rw-r--r--TAO/tao/ORB.cpp9
-rw-r--r--TAO/tao/ORB.h30
3 files changed, 29 insertions, 15 deletions
diff --git a/TAO/ChangeLog-98c b/TAO/ChangeLog-98c
index a454c61133f..fa126a5bf7a 100644
--- a/TAO/ChangeLog-98c
+++ b/TAO/ChangeLog-98c
@@ -1,3 +1,8 @@
+Wed Sep 23 01:24:09 1998 Irfan Pyarali <irfan@cs.wustl.edu>
+
+ * tao/ORB.h (struct TAO_Leader_Follower_Info): Added constructor
+ cause all the fields were not being initialized properly.
+
1998-09-22 Nagarajan Surendran <naga@tango.cs.wustl.edu>
* performance-tests/Cubit/TAO/MT_Cubit/Task_Client.cpp :
diff --git a/TAO/tao/ORB.cpp b/TAO/tao/ORB.cpp
index 1f6acf797e8..17af8074076 100644
--- a/TAO/tao/ORB.cpp
+++ b/TAO/tao/ORB.cpp
@@ -44,6 +44,14 @@ ACE_TIMEPROBE_EVENT_DESCRIPTIONS (TAO_ORB_Timeprobe_Description,
// Static initialization.
int CORBA_ORB::orb_init_count_ = 0;
+TAO_Leader_Follower_Info::TAO_Leader_Follower_Info (void)
+ : leader_follower_lock_ (),
+ follower_set_ (),
+ leaders_ (0),
+ leader_thread_ID_ (ACE_OS::NULL_thread)
+{
+}
+
CORBA::String_var::String_var (char *p)
: ptr_ (p)
{
@@ -82,7 +90,6 @@ CORBA_ORB::CORBA_ORB (void)
event_service_ (CORBA_Object::_nil ()),
trading_service_ (CORBA_Object::_nil ())
{
- leader_follower_info_.leader_thread_ID_ = ACE_OS::NULL_thread;
ACE_NEW (this->cond_become_leader_,
ACE_SYNCH_CONDITION (leader_follower_info_.leader_follower_lock_));
}
diff --git a/TAO/tao/ORB.h b/TAO/tao/ORB.h
index 0fddb362275..b6d53ad659b 100644
--- a/TAO/tao/ORB.h
+++ b/TAO/tao/ORB.h
@@ -193,21 +193,23 @@ typedef u_int CORBA_Flags;
typedef u_char CORBA_Boolean;
#endif /* ! (ghs && CHORUS) */
- typedef struct TAO_Leader_Follower_Info_Struct
- {
- ACE_SYNCH_MUTEX leader_follower_lock_;
- // do protect the access to the following three members
-
- ACE_Unbounded_Set<ACE_SYNCH_CONDITION *> follower_set_;
- // keep a set of followers around (protected)
-
- int leaders_;
- // 0 if no leader is around, 1 if there is a leader
- // > 1 if we do nested upcalls (protected)
+struct TAO_Leader_Follower_Info
+{
+ TAO_Leader_Follower_Info (void);
- ACE_thread_t leader_thread_ID_;
- // thread ID of the leader thread (protected)
- } TAO_Leader_Follower_Info;
+ ACE_SYNCH_MUTEX leader_follower_lock_;
+ // do protect the access to the following three members
+
+ ACE_Unbounded_Set<ACE_SYNCH_CONDITION *> follower_set_;
+ // keep a set of followers around (protected)
+
+ int leaders_;
+ // 0 if no leader is around, 1 if there is a leader
+ // > 1 if we do nested upcalls (protected)
+
+ ACE_thread_t leader_thread_ID_;
+ // thread ID of the leader thread (protected)
+};
// forward declare sequences.