summaryrefslogtreecommitdiff
path: root/TAO/tao/ORB_Core.h
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/ORB_Core.h')
-rw-r--r--TAO/tao/ORB_Core.h34
1 files changed, 9 insertions, 25 deletions
diff --git a/TAO/tao/ORB_Core.h b/TAO/tao/ORB_Core.h
index 87f6d107355..80b018eee6e 100644
--- a/TAO/tao/ORB_Core.h
+++ b/TAO/tao/ORB_Core.h
@@ -18,11 +18,6 @@
#define TAO_ORB_CORE_H
#include "tao/corbafwd.h"
-
-#if !defined (ACE_LACKS_PRAGMA_ONCE)
-# pragma once
-#endif /* ACE_LACKS_PRAGMA_ONCE */
-
#include "tao/Environment.h"
#include "tao/Policy_Manager.h"
#include "tao/Resource_Factory.h"
@@ -101,6 +96,9 @@ public:
int is_leader_thread_;
// Is this thread a leader for this ORB?
+
+ ACE_SYNCH_CONDITION* leader_follower_condition_variable_;
+ // Condition variable for the leader follower model.
};
// ****************************************************************
@@ -169,9 +167,6 @@ public:
ACE_Reverse_Lock<ACE_SYNCH_MUTEX> &reverse_lock (void);
// Accessors
- int has_clients (void) const;
- // Check if there are any client threads running
-
private:
TAO_ORB_Core_TSS_Resources *get_tss_resources (void) const;
// Shortcut to obtain the TSS resources of the orb core.
@@ -194,10 +189,6 @@ private:
// There could be many leaders in the thread pool (i.e. calling
// ORB::run), and the same leader could show up multiple times as it
// receives nested upcalls and sends more requests.
-
- int clients_;
- // Count the number of active clients, this is useful to know when
- // to deactivate the reactor
};
// ****************************************************************
@@ -416,17 +407,14 @@ public:
// Obtain the TSS resources of this orb.
TAO_Leader_Follower &leader_follower (void);
- // Get access to the leader_follower class
+ // Get access to the leader_follower class.
int run (ACE_Time_Value *tv, int break_on_timeouts);
- // Run the event loop
-
- void shutdown (CORBA::Boolean wait_for_completion,
- CORBA::Environment &ACE_TRY_ENV);
- // End the event loop
+ // Run the event loop.
- int has_shutdown (void);
- // Get the shutdown flag value
+ ACE_SYNCH_CONDITION* leader_follower_condition_variable (void);
+ // Condition variable used in the Leader Follower Wait Strategy, on
+ // which the follower thread blocks.
protected:
int set_iiop_endpoint (int dotted_decimal_addresses,
@@ -482,7 +470,7 @@ protected:
PortableServer::POA_var root_poa_reference_;
// Cached POA reference
- TAO_ORB_Parameters orb_params_;
+ TAO_ORB_Parameters *orb_params_;
// Parameters used by the ORB.
char* orbid_;
@@ -574,10 +562,6 @@ protected:
TAO_Leader_Follower leader_follower_;
// Information about the leader follower model
-
- int has_shutdown_;
- // Flag which denotes that the ORB should shut down and <run> should
- // return.
};
// ****************************************************************