diff options
Diffstat (limited to 'TAO/tao/default_resource.h')
-rw-r--r-- | TAO/tao/default_resource.h | 32 |
1 files changed, 19 insertions, 13 deletions
diff --git a/TAO/tao/default_resource.h b/TAO/tao/default_resource.h index 4c1abc6afa0..5e2a3d49c09 100644 --- a/TAO/tao/default_resource.h +++ b/TAO/tao/default_resource.h @@ -31,6 +31,18 @@ // **************************************************************** +class TAO_Default_Reactor : public ACE_Reactor +{ + // = TITLE + // + // Force TAO to use Select Reactor. +public: + TAO_Default_Reactor (int nolock = 0); + virtual ~TAO_Default_Reactor (void); +}; + +// **************************************************************** + class TAO_Export TAO_Allocated_Resources { // = TITLE @@ -72,7 +84,7 @@ public: TAO_Connector_Registry cr_; // The Connector Registry! - ACE_Reactor *r_; + TAO_Default_Reactor *r_; // The Reactor. TAO_Object_Adapter *object_adapter_; @@ -131,12 +143,8 @@ public: // = Type of Reactor enum { - TAO_REACTOR_SELECT_MT, // Use ACE_Token - TAO_REACTOR_SELECT_ST, // Use ACE_Noop_Token - TAO_REACTOR_FL, - TAO_REACTOR_XT, - TAO_REACTOR_WFMO, - TAO_REACTOR_MSGWFMO + TAO_TOKEN, // Use ACE_Token as Select_Reactor's internal lock + TAO_NULL_LOCK // Use ACE_Noop_Token as Select_Reactor's internal lock }; // = Range of values for <{resource source specifier}>. @@ -165,6 +173,7 @@ public: virtual TAO_POA *get_root_poa (void); virtual TAO_Object_Adapter *object_adapter (void); virtual TAO_GLOBAL_Collocation_Table *get_global_collocation_table (void); + virtual int reactor_lock (void); virtual ACE_Allocator* input_cdr_dblock_allocator (void); virtual ACE_Allocator* input_cdr_buffer_allocator (void); virtual ACE_Allocator* output_cdr_dblock_allocator (void); @@ -172,10 +181,6 @@ public: virtual ACE_Data_Block *create_input_cdr_data_block (size_t size); protected: - ACE_Reactor_Impl *allocate_reactor_impl (void) const; - // Obtain the reactor implementation - -protected: int resource_source_; // Flag indicating whether resources should be global or @@ -191,8 +196,9 @@ protected: // thread-specific. It defaults to TAO_GLOBAL if not set // specifically. - int reactor_type_; - // Flag indicating which kind of reactor we should use. + int reactor_lock_; + // Flag indicating wether we should provide a lock-freed reactor + // or not. int cdr_allocator_source_; // The source for the CDR allocator. Even with a TSS resource |