diff options
-rw-r--r-- | ace/Local_Name_Space_T.cpp | 7 | ||||
-rw-r--r-- | ace/OS.h | 140 | ||||
-rw-r--r-- | ace/Synch_T.h | 4 | ||||
-rw-r--r-- | ace/UPIPE_Stream.h | 2 | ||||
-rw-r--r-- | ace/config-win32-msvc4.0.h | 3 |
5 files changed, 73 insertions, 83 deletions
diff --git a/ace/Local_Name_Space_T.cpp b/ace/Local_Name_Space_T.cpp index 41c7e19db94..1c7d6ab100f 100644 --- a/ace/Local_Name_Space_T.cpp +++ b/ace/Local_Name_Space_T.cpp @@ -350,12 +350,9 @@ ACE_Local_Name_Space<ACE_MEM_POOL_2, LOCK>::create_manager (void) ACE_DEBUG ((LM_DEBUG, "contextfile is %s\n", this->context_file_)); -#if defined (ACE_HAS_NESTED_TRAITS) - ALLOCATOR::ALLOCATOR::MEMORY_POOL::Options options (this->name_options_->base_address ()); + + ACE_MEM_POOL_OPTIONS options (this->name_options_->base_address ()); ACE_NEW_RETURN (this->allocator_, ALLOCATOR (options, this->context_file_), -1); -#else - ACE_NEW_RETURN (this->allocator_, ALLOCATOR (this->context_file_), -1); -#endif /* ACE_HAS_NESTED_TRAITS */ if (ACE_LOG_MSG->errnum ()) ACE_ERROR_RETURN ((LM_ERROR, "Allocator::Allocator\n"), -1); @@ -120,6 +120,74 @@ // 10 millisecond fudge factor to account for Solaris timers... #define ACE_TIMER_SKEW 1000 * 10 +// Increase the range of "address families". +#define AF_SPIPE (AF_MAX + 1) +#define AF_FILE (AF_MAX + 2) +#define AF_DEV (AF_MAX + 3) +#define AF_UPIPE (AF_SPIPE) + +// Turn a number into a string. +#define ACE_ITOA(X) #X + +// Create a string of a server address with a "host:port" format. +#define ACE_SERVER_ADDRESS(H,P) H":"P + +// A couple useful inline functions for checking whether bits are +// enabled or disabled. + +// Efficiently returns the least power of two >= X... +#define ACE_POW(X) ((!X)?1:(X-=1,X|=X>>1,X|=X>>2,X|=X>>4,X|=X>>8,X|=X>>16,(++X))) +#define ACE_EVEN(NUM) (((NUM) & 1) == 0) +#define ACE_ODD(NUM) (((NUM) & 1) == 1) +#define ACE_BIT_ENABLED(WORD, BIT) (((WORD) & (BIT)) != 0) +#define ACE_BIT_DISABLED(WORD, BIT) (((WORD) & (BIT)) == 0) +#define ACE_SET_BITS(WORD, BITS) (WORD |= (BITS)) +#define ACE_CLR_BITS(WORD, BITS) (WORD &= ~(BITS)) + +// A useful abstraction for expressions involving operator new since +// we can change memory allocation error handling policies (e.g., +// depending on whether ANSI/ISO exception handling semantics are +// being used). + +#define ACE_NEW(POINTER,CONSTRUCTOR) \ + do { POINTER = new CONSTRUCTOR; \ + if (POINTER == 0) { errno = ENOMEM; return; }} while (0) +#define ACE_NEW_RETURN(POINTER,CONSTRUCTOR,RET_VAL) \ + do { POINTER = new CONSTRUCTOR; \ + if (POINTER == 0) { errno = ENOMEM; return RET_VAL; }} while (0) + +// These hooks enable ACE to have all dynamic memory management +// automatically handled on a per-object basis. + +#if defined (ACE_HAS_ALLOC_HOOKS) +#define ACE_ALLOC_HOOK_DECLARE \ + void *operator new (size_t bytes); \ + void operator delete (void *ptr); + +// Note that these are just place holders for now. They'll +// be replaced by the ACE_Malloc stuff shortly... +#define ACE_ALLOC_HOOK_DEFINE(CLASS) \ + void *CLASS::operator new (size_t bytes) { return ::new char[bytes]; } \ + void CLASS::operator delete (void *ptr) { delete (ptr); } +#else +#define ACE_ALLOC_HOOK_DECLARE struct __Ace {} // Just need a dummy... +#define ACE_ALLOC_HOOK_DEFINE(CLASS) +#endif /* ACE_HAS_ALLOC_HOOKS */ + +#if defined (VXWORKS) +#if defined (ghs) +// horrible hacks to get around inconsistency between ansi and VxWorks +// stdarg.h with Green Hills 1.8.8 compiler +#define __INCstdargh +#include <stdarg.h> +#endif /* ghs */ + +typedef int key_t; +#include <vxWorks.h> +#endif /* VXWORKS */ + +#include "ace/Time_Value.h" + // The following is necessary since many C++ compilers don't support // typedef'd types inside of classes used as formal template // arguments... ;-(. Luckily, using the C++ preprocessor I can hide @@ -130,8 +198,8 @@ // Handle ACE_Message_Queue. #define ACE_SYNCH_1 class _ACE_SYNCH #define ACE_SYNCH_2 _ACE_SYNCH -#define ACE_SYNCH_MUTEX _ACE_SYNCH::ACE_MUTEX -#define ACE_SYNCH_CONDITION _ACE_SYNCH::ACE_CONDITION +#define ACE_SYNCH_MUTEX _ACE_SYNCH::MUTEX +#define ACE_SYNCH_CONDITION _ACE_SYNCH::CONDITION // Handle ACE_Malloc* #define ACE_MEM_POOL_1 class _ACE_MEM_POOL @@ -221,74 +289,6 @@ #endif /* ACE_HAS_TEMPLATE_TYPEDEFS */ -// Increase the range of "address families". -#define AF_SPIPE (AF_MAX + 1) -#define AF_FILE (AF_MAX + 2) -#define AF_DEV (AF_MAX + 3) -#define AF_UPIPE (AF_SPIPE) - -// Turn a number into a string. -#define ACE_ITOA(X) #X - -// Create a string of a server address with a "host:port" format. -#define ACE_SERVER_ADDRESS(H,P) H":"P - -// A couple useful inline functions for checking whether bits are -// enabled or disabled. - -// Efficiently returns the least power of two >= X... -#define ACE_POW(X) ((!X)?1:(X-=1,X|=X>>1,X|=X>>2,X|=X>>4,X|=X>>8,X|=X>>16,(++X))) -#define ACE_EVEN(NUM) (((NUM) & 1) == 0) -#define ACE_ODD(NUM) (((NUM) & 1) == 1) -#define ACE_BIT_ENABLED(WORD, BIT) (((WORD) & (BIT)) != 0) -#define ACE_BIT_DISABLED(WORD, BIT) (((WORD) & (BIT)) == 0) -#define ACE_SET_BITS(WORD, BITS) (WORD |= (BITS)) -#define ACE_CLR_BITS(WORD, BITS) (WORD &= ~(BITS)) - -// A useful abstraction for expressions involving operator new since -// we can change memory allocation error handling policies (e.g., -// depending on whether ANSI/ISO exception handling semantics are -// being used). - -#define ACE_NEW(POINTER,CONSTRUCTOR) \ - do { POINTER = new CONSTRUCTOR; \ - if (POINTER == 0) { errno = ENOMEM; return; }} while (0) -#define ACE_NEW_RETURN(POINTER,CONSTRUCTOR,RET_VAL) \ - do { POINTER = new CONSTRUCTOR; \ - if (POINTER == 0) { errno = ENOMEM; return RET_VAL; }} while (0) - -// These hooks enable ACE to have all dynamic memory management -// automatically handled on a per-object basis. - -#if defined (ACE_HAS_ALLOC_HOOKS) -#define ACE_ALLOC_HOOK_DECLARE \ - void *operator new (size_t bytes); \ - void operator delete (void *ptr); - -// Note that these are just place holders for now. They'll -// be replaced by the ACE_Malloc stuff shortly... -#define ACE_ALLOC_HOOK_DEFINE(CLASS) \ - void *CLASS::operator new (size_t bytes) { return ::new char[bytes]; } \ - void CLASS::operator delete (void *ptr) { delete (ptr); } -#else -#define ACE_ALLOC_HOOK_DECLARE struct __Ace {} // Just need a dummy... -#define ACE_ALLOC_HOOK_DEFINE(CLASS) -#endif /* ACE_HAS_ALLOC_HOOKS */ - -#if defined (VXWORKS) -#if defined (ghs) -// horrible hacks to get around inconsistency between ansi and VxWorks -// stdarg.h with Green Hills 1.8.8 compiler -#define __INCstdargh -#include <stdarg.h> -#endif /* ghs */ - -typedef int key_t; -#include <vxWorks.h> -#endif /* VXWORKS */ - -#include "ace/Time_Value.h" - // For Win32 compatibility... #if !defined (ACE_WSOCK_VERSION) #define ACE_WSOCK_VERSION 0, 0 diff --git a/ace/Synch_T.h b/ace/Synch_T.h index ffa705c0f70..1d5aca814a7 100644 --- a/ace/Synch_T.h +++ b/ace/Synch_T.h @@ -589,10 +589,6 @@ public: #define ACE_MT_SYNCH ACE_Thread_Mutex,ACE_Condition_Thread_Mutex #endif /* ACE_HAS_TEMPLATE_TYPEDEFS */ -#if defined (__osf__) && ! defined (__GNUG__) -#pragma define_template ACE_Condition <ACE_Mutex> -#endif - #define ACE_SYNCH ACE_MT_SYNCH #else #define ACE_SYNCH ACE_NULL_SYNCH diff --git a/ace/UPIPE_Stream.h b/ace/UPIPE_Stream.h index 23f084851c7..64313fcea99 100644 --- a/ace/UPIPE_Stream.h +++ b/ace/UPIPE_Stream.h @@ -27,7 +27,7 @@ #if defined (ACE_HAS_THREADS) // Use a typedef to make life easier later on. -typedef ACE_Stream<ACE_MT_SYNCH> MT_Stream; +typedef ACE_Stream<ACE_SYNCH> MT_Stream; class ACE_Export ACE_UPIPE_Stream : public ACE_SPIPE // = TITLE diff --git a/ace/config-win32-msvc4.0.h b/ace/config-win32-msvc4.0.h index ab7d9e56eb6..aacf85f8d73 100644 --- a/ace/config-win32-msvc4.0.h +++ b/ace/config-win32-msvc4.0.h @@ -78,9 +78,6 @@ #define ACE_LACKS_MODE_MASKS #define ACE_LACKS_STRRECVFD -// Compiler supports nested traits -#define ACE_HAS_NESTED_TRAITS - // Compiler/platform has correctly prototyped header files. #define ACE_HAS_CPLUSPLUS_HEADERS |