diff options
author | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-03-20 04:53:36 +0000 |
---|---|---|
committer | schmidt <douglascraigschmidt@users.noreply.github.com> | 1997-03-20 04:53:36 +0000 |
commit | 217604f2f905ea83cf78804afb9a6995d01a9aba (patch) | |
tree | c682c75a4b1e647ef4495b8d2ff2765ff43e7142 /ace | |
parent | 5713b1319823b60f4d49e876645979cc5ada452f (diff) | |
download | ATCD-217604f2f905ea83cf78804afb9a6995d01a9aba.tar.gz |
ot
Diffstat (limited to 'ace')
-rw-r--r-- | ace/ACE.cpp | 2 | ||||
-rw-r--r-- | ace/Connector.cpp | 15 | ||||
-rw-r--r-- | ace/Connector.h | 12 | ||||
-rw-r--r-- | ace/Event_Handler_T.i | 16 | ||||
-rw-r--r-- | ace/Handle_Set.cpp | 4 | ||||
-rw-r--r-- | ace/IOStream.cpp | 2 | ||||
-rw-r--r-- | ace/IOStream.h | 2 | ||||
-rw-r--r-- | ace/Local_Name_Space_T.h | 8 | ||||
-rw-r--r-- | ace/Malloc_T.h | 2 | ||||
-rw-r--r-- | ace/Memory_Pool.cpp | 2 | ||||
-rw-r--r-- | ace/OS.cpp | 18 | ||||
-rw-r--r-- | ace/OS.h | 53 | ||||
-rw-r--r-- | ace/OS.i | 231 | ||||
-rw-r--r-- | ace/README | 5 | ||||
-rw-r--r-- | ace/SOCK_Dgram_Mcast.cpp | 9 | ||||
-rw-r--r-- | ace/Signal.cpp | 6 | ||||
-rw-r--r-- | ace/Strategies_T.cpp | 8 | ||||
-rw-r--r-- | ace/Strategies_T.h | 2 | ||||
-rw-r--r-- | ace/Stream_Modules.cpp | 2 | ||||
-rw-r--r-- | ace/Stream_Modules.h | 2 | ||||
-rw-r--r-- | ace/Task_T.cpp | 1 | ||||
-rw-r--r-- | ace/config-chorus.h | 94 | ||||
-rw-r--r-- | ace/config-hpux-10.x-aCC.h | 122 | ||||
-rw-r--r-- | ace/config-hpux-10.x-g++.h | 5 | ||||
-rw-r--r-- | ace/config-hpux-10.x.h | 6 | ||||
-rw-r--r-- | ace/config-vxworks-ghs-1.8.h | 3 | ||||
-rw-r--r-- | ace/config-vxworks5.2-g++.h | 3 | ||||
-rw-r--r-- | ace/config-win32-msvc2.0.h | 3 | ||||
-rw-r--r-- | ace/config-win32-msvc4.x.h | 3 | ||||
-rw-r--r-- | ace/config-winnt-4.0-msvc4.x.h | 3 |
30 files changed, 453 insertions, 191 deletions
diff --git a/ace/ACE.cpp b/ace/ACE.cpp index d8ade8a0530..1ea3416abb1 100644 --- a/ace/ACE.cpp +++ b/ace/ACE.cpp @@ -862,7 +862,7 @@ int ACE::daemonize (const char pathname[]) { ACE_TRACE ("ACE::daemonize"); -#if !defined (ACE_WIN32) +#if !defined (ACE_LACKS_EXEC) pid_t pid = ACE_OS::fork (); if (pid == -1) diff --git a/ace/Connector.cpp b/ace/Connector.cpp index 76d20b2f1b3..d9ff5973a9d 100644 --- a/ace/Connector.cpp +++ b/ace/Connector.cpp @@ -11,7 +11,7 @@ #define SH SVC_HANDLER #define PR_CO_1 ACE_PEER_CONNECTOR_1 #define PR_CO_2 ACE_PEER_CONNECTOR_2 -#define PR_AD ACE_PEER_CONNECTOR_ADDR +#define PEER_ADDR ACE_PEER_CONNECTOR_ADDR ACE_ALLOC_HOOK_DEFINE(ACE_Connector) @@ -58,9 +58,9 @@ ACE_Connector<SH, PR_CO_2>::activate_svc_handler (SVC_HANDLER *svc_handler) template <class SH, PR_CO_1> int ACE_Connector<SH, PR_CO_2>::connect_svc_handler (SVC_HANDLER *svc_handler, - const PR_AD &remote_addr, + const PEER_ADDR &remote_addr, const ACE_Synch_Options &synch_options, - const PR_AD &local_addr, + const PEER_ADDR &local_addr, int reuse_addr, int flags, int perms) @@ -313,7 +313,7 @@ ACE_Connector<SH, PR_CO_2>::handle_output (ACE_HANDLE handle) // Transfer ownership of the ACE_HANDLE to the SVC_HANDLER. ast->svc_handler ()->set_handle (handle); - PR_AD raddr; + PEER_ADDR raddr; // Check to see if we're connected. if (ast->svc_handler ()->peer ().get_remote_addr (raddr) != -1) @@ -329,9 +329,9 @@ ACE_Connector<SH, PR_CO_2>::handle_output (ACE_HANDLE handle) template <class SH, PR_CO_1> int ACE_Connector<SH, PR_CO_2>::connect (SH *sh, - const PR_AD &remote_addr, + const PEER_ADDR &remote_addr, const ACE_Synch_Options &synch_options, - const PR_AD &local_addr, + const PEER_ADDR &local_addr, int reuse_addr, int flags, int perms) @@ -504,7 +504,7 @@ ACE_Connector<SH, PR_CO_2>::info (char **strp, size_t length) const ACE_TRACE ("ACE_Connector<SH, PR_CO_2>::info"); char buf[BUFSIZ]; char addr_str[BUFSIZ]; - PR_AD addr; + PEER_ADDR addr; if (this->connector ().get_local_addr (addr) == -1) return -1; @@ -533,5 +533,4 @@ ACE_Connector<SH, PR_CO_2>::~ACE_Connector (void) #undef SH #undef PR_CO_1 #undef PR_CO_2 -#undef PR_AD #endif /* ACE_CONNECTOR_C */ diff --git a/ace/Connector.h b/ace/Connector.h index 02a193621b4..0a2470ac05f 100644 --- a/ace/Connector.h +++ b/ace/Connector.h @@ -118,6 +118,8 @@ class ACE_Connector : public ACE_Service_Object public: // = Initialization and termination methods. + typedef ACE_TYPENAME ACE_PEER_CONNECTOR_ADDR PEER_ADDR; + ACE_Connector (ACE_Reactor *r = ACE_Service_Config::reactor ()); // Initialize a connector. @@ -130,10 +132,10 @@ public: // = Connection establishment method virtual int connect (SVC_HANDLER *svc_handler, - const ACE_PEER_CONNECTOR_ADDR &remote_addr, + const PEER_ADDR &remote_addr, const ACE_Synch_Options &synch_options = ACE_Synch_Options::defaults, - const ACE_PEER_CONNECTOR_ADDR &local_addr - = (ACE_PEER_CONNECTOR_ADDR &) ACE_PEER_CONNECTOR_ADDR::sap_any, + const PEER_ADDR &local_addr + = (PEER_ADDR &) PEER_ADDR::sap_any, int reuse_addr = 0, int flags = O_RDWR, int perms = 0); @@ -183,9 +185,9 @@ protected: // connecting and activating SVC_HANDLER's, respectively. virtual int connect_svc_handler (SVC_HANDLER *svc_handler, - const ACE_PEER_CONNECTOR_ADDR &remote_addr, + const PEER_ADDR &remote_addr, const ACE_Synch_Options &synch_options, - const ACE_PEER_CONNECTOR_ADDR &local_addr, + const PEER_ADDR &local_addr, int reuse_addr, int flags, int perms); diff --git a/ace/Event_Handler_T.i b/ace/Event_Handler_T.i index 2f7b5e6deb7..160eac4e5e3 100644 --- a/ace/Event_Handler_T.i +++ b/ace/Event_Handler_T.i @@ -74,7 +74,7 @@ ACE_Event_Handler_T<T>::handle_signal (ACE_HANDLE signum, siginfo_t *s, ucontext return this->sig_handler_ == 0 ? 0 : (this->op_handler_->*sig_handler_) (signum, s, u); } -template<class T> ACE_INLINE ACE_Event_Handler_T<T>::GET_HANDLE +template<class T> ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T<T>::GET_HANDLE ACE_Event_Handler_T<T>::handle_get (void) { ACE_TRACE ("ACE_Event_Handler_T<T>::handle_get"); @@ -88,7 +88,7 @@ ACE_Event_Handler_T<T>::handle_get (ACE_Event_Handler_T<T>::GET_HANDLE h) this->get_handle_ = h; } -template<class T> ACE_INLINE ACE_Event_Handler_T<T>::SET_HANDLE +template<class T> ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T<T>::SET_HANDLE ACE_Event_Handler_T<T>::handle_set (void) { ACE_TRACE ("ACE_Event_Handler_T<T>::handle_set"); @@ -102,7 +102,7 @@ ACE_Event_Handler_T<T>::handle_set (ACE_Event_Handler_T<T>::SET_HANDLE h) this->set_handle_ = h; } -template<class T> ACE_INLINE ACE_Event_Handler_T<T>::IO_HANDLER +template<class T> ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T<T>::IO_HANDLER ACE_Event_Handler_T<T>::input_handler (void) { ACE_TRACE ("ACE_Event_Handler_T<T>::input_handler"); @@ -116,7 +116,7 @@ ACE_Event_Handler_T<T>::input_handler (ACE_Event_Handler_T<T>::IO_HANDLER h) this->input_handler_ = h; } -template<class T> ACE_INLINE ACE_Event_Handler_T<T>::IO_HANDLER +template<class T> ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T<T>::IO_HANDLER ACE_Event_Handler_T<T>::output_handler (void) { ACE_TRACE ("ACE_Event_Handler_T<T>::output_handler"); @@ -130,7 +130,7 @@ ACE_Event_Handler_T<T>::output_handler (ACE_Event_Handler_T<T>::IO_HANDLER h) this->output_handler_ = h; } -template<class T> ACE_INLINE ACE_Event_Handler_T<T>::IO_HANDLER +template<class T> ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T<T>::IO_HANDLER ACE_Event_Handler_T<T>::except_handler (void) { ACE_TRACE ("ACE_Event_Handler_T<T>::except_handler"); @@ -144,7 +144,7 @@ ACE_Event_Handler_T<T>::except_handler (ACE_Event_Handler_T<T>::IO_HANDLER h) this->except_handler_ = h; } -template<class T> ACE_INLINE ACE_Event_Handler_T<T>::TO_HANDLER +template<class T> ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T<T>::TO_HANDLER ACE_Event_Handler_T<T>::to_handler (void) { ACE_TRACE ("ACE_Event_Handler_T<T>::to_handler"); @@ -158,7 +158,7 @@ ACE_Event_Handler_T<T>::to_handler (ACE_Event_Handler_T<T>::TO_HANDLER h) this->to_handler_ = h; } -template<class T> ACE_INLINE ACE_Event_Handler_T<T>::CL_HANDLER +template<class T> ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T<T>::CL_HANDLER ACE_Event_Handler_T<T>::cl_handler (void) { ACE_TRACE ("ACE_Event_Handler_T<T>::cl_handler"); @@ -172,7 +172,7 @@ ACE_Event_Handler_T<T>::cl_handler (ACE_Event_Handler_T<T>::CL_HANDLER h) this->cl_handler_ = h; } -template<class T> ACE_INLINE ACE_Event_Handler_T<T>::SIG_HANDLER +template<class T> ACE_INLINE ACE_TYPENAME ACE_Event_Handler_T<T>::SIG_HANDLER ACE_Event_Handler_T<T>::sig_handler (void) { ACE_TRACE ("ACE_Event_Handler_T<T>::sig_handler"); diff --git a/ace/Handle_Set.cpp b/ace/Handle_Set.cpp index 3eeb6032da5..12037575cfd 100644 --- a/ace/Handle_Set.cpp +++ b/ace/Handle_Set.cpp @@ -208,12 +208,12 @@ ACE_Handle_Set_Iterator::ACE_Handle_Set_Iterator (const ACE_Handle_Set &f) // end of the bitset. for (; this->handles_.mask_.fds_bits[this->index_] == 0 - && this->num_ < ACE_Handle_Set::MAXSIZE + && this->num_ < ACE_Handle_Set::MAXSIZE; this->index_++) this->num_ += ACE_Handle_Set::WORDSIZE; if (this->num_ >= ACE_Handle_Set::MAXSIZE) - this->num_ = this->handles_.max_handle + 1; + this->num_ = this->handles_.max_handle_ + 1; else for (this->val_ = this->handles_.mask_.fds_bits[this->index_]; (ACE_BIT_DISABLED (this->val_, 1)) && this->num_ < ACE_Handle_Set::MAXSIZE; diff --git a/ace/IOStream.cpp b/ace/IOStream.cpp index b4691b9d5bb..e9e8384b917 100644 --- a/ace/IOStream.cpp +++ b/ace/IOStream.cpp @@ -517,7 +517,7 @@ ACE_IOStream<STREAM>::close (void) return STREAM::close (); } -#if defined (__GNUC__) +#if defined (__GNUC__) && !defined (CHORUS) // A simple string operator. The base iostream has 'em for char* but // that isn't always the best thing for a String. If we don't provide // our own here, we may not get what we want. diff --git a/ace/IOStream.h b/ace/IOStream.h index c0114c037ac..9ebe978ac18 100644 --- a/ace/IOStream.h +++ b/ace/IOStream.h @@ -23,7 +23,7 @@ #include "ace/OS.h" #include <iomanip.h> -#if defined (__GNUC__) +#if defined (__GNUC__) && !defined (CHORUS) #include <String.h> class QuotedString : public String diff --git a/ace/Local_Name_Space_T.h b/ace/Local_Name_Space_T.h index 880ba0f6f82..f16375433f4 100644 --- a/ace/Local_Name_Space_T.h +++ b/ace/Local_Name_Space_T.h @@ -1,8 +1,6 @@ /* -*- C++ -*- */ // $Id$ -/*-*- C++ -*- */ - // ============================================================================ // // = LIBRARY @@ -198,6 +196,9 @@ public: virtual void dump_i (void) const; // Dump the state of the object + // = I just know this is going to cause problems on some platform... + typedef ACE_Allocator_Adapter <ACE_Malloc <ACE_MEM_POOL_2, LOCK> > ALLOCATOR; + private: #if defined (ACE_WIN32) int remap (EXCEPTION_POINTERS *ep); @@ -215,9 +216,6 @@ private: // Allocate the appropriate type of map manager that stores the // key/value binding. - // = I just know this is going to cause problems on some platform... - typedef ACE_Allocator_Adapter <ACE_Malloc <ACE_MEM_POOL_2, LOCK> > ALLOCATOR; - ALLOCATOR *allocator_; // Pointer to the allocator diff --git a/ace/Malloc_T.h b/ace/Malloc_T.h index 71fd12c5652..aae4e2ce82b 100644 --- a/ace/Malloc_T.h +++ b/ace/Malloc_T.h @@ -34,7 +34,7 @@ public: #if defined (ACE_HAS_TEMPLATE_TYPEDEFS) // The following code will break C++ compilers that don't support // template typedefs correctly. - typedef const MALLOC::MEMORY_POOL_OPTIONS *MEMORY_POOL_OPTIONS; + typedef const ACE_TYPENAME MALLOC::MEMORY_POOL_OPTIONS *MEMORY_POOL_OPTIONS; #else typedef const void *MEMORY_POOL_OPTIONS; #endif /* ACE_HAS_TEMPLATE_TYPEDEFS */ diff --git a/ace/Memory_Pool.cpp b/ace/Memory_Pool.cpp index cc42d2f3aa4..dd61df574e0 100644 --- a/ace/Memory_Pool.cpp +++ b/ace/Memory_Pool.cpp @@ -133,7 +133,7 @@ ACE_MMAP_Memory_Pool::ACE_MMAP_Memory_Pool (LPCTSTR backing_store_name, backing_store_name, (sizeof this->backing_store_name_ / sizeof (TCHAR))); -#if !defined (ACE_WIN32) +#if !defined (ACE_WIN32) && !defined (CHORUS) if (this->signal_handler_.register_handler (SIGSEGV, this) == -1) ACE_ERROR ((LM_ERROR, "%p\n", this->backing_store_name_)); #endif /* ACE_WIN32 */ diff --git a/ace/OS.cpp b/ace/OS.cpp index eb297daff8b..b3d06d77211 100644 --- a/ace/OS.cpp +++ b/ace/OS.cpp @@ -441,7 +441,7 @@ ACE_OS::ace_flock_t::dump (void) const ACE_DEBUG ((LM_DEBUG, "\nInternalHigh = %d", this->overlapped_.InternalHigh)); ACE_DEBUG ((LM_DEBUG, "\nOffsetHigh = %d", this->overlapped_.OffsetHigh)); ACE_DEBUG ((LM_DEBUG, "\nhEvent = %d", this->overlapped_.hEvent)); -#else +#elif !defined (CHORUS) ACE_DEBUG ((LM_DEBUG, "\nl_whence = %d", this->lock_.l_whence)); ACE_DEBUG ((LM_DEBUG, "\nl_start = %d", this->lock_.l_start)); ACE_DEBUG ((LM_DEBUG, "\nl_len = %d", this->lock_.l_len)); @@ -742,6 +742,18 @@ ACE_OS::sched_params (const ACE_Sched_Params &sched_params) // Set the thread priority on the current thread. return ACE_OS::thr_setprio (sched_params.priority ()); +#elif defined (CHORUS) + int result; + struct sched_param param; + ACE_thread_t thr_id = ACE_OS::thr_self (); + + param.sched_priority = sched_params.priority (); + + ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_setschedparam (thr_id, + sched_params.policy (), + ¶m), + result), + int, -1); #else ACE_NOTSUP_RETURN (-1); #endif /* ACE_HAS_STHREADS */ @@ -1947,6 +1959,8 @@ ACE_OS::fork_exec (char *argv[]) // CreateProcess failed. return -1; +#elif defined (CHORUS) + return -1; // do it later!!! #else pid_t result = ACE_OS::fork (); @@ -2197,7 +2211,7 @@ pid_t ACE_OS::fork (const char *program_name) { // ACE_TRACE ("ACE_OS::fork"); -#if defined (ACE_WIN32) || defined (VXWORKS) +#if defined (ACE_LACKS_EXEC) ACE_UNUSED_ARG (program_name); ACE_NOTSUP_RETURN (pid_t (-1)); #else @@ -186,10 +186,23 @@ typedef int key_t; #include /**/ <vxWorks.h> #endif /* VXWORKS */ +#if defined (CHORUS) +#include /**/ <chorus.h> +#endif /* CHORUS */ + // This file should be a link to the platform/compiler-specific // configuration file (e.g., config-sunos5-sunc++-4.x.h). #include "ace/config.h" +#if defined (ACE_LACKS_SIGACTION) +struct sigaction +{ + int sa_flags; + ACE_SignalHandlerV sa_handler; + sigset_t sa_mask; +}; +#endif /* ACE_LACKS_SIGACTION */ + #if defined (ACE_HAS_CHARPTR_SPRINTF) #define ACE_SPRINTF_ADAPTER(X) ::strlen (X) #else @@ -493,6 +506,12 @@ private: #define ACE_USING #endif /* ACE_HAS_USING_KEYWORD */ +#if defined (ACE_HAS_TYPENAME_KEYWORD) +#define ACE_TYPENAME typename +#else +#deifne ACE_TYPENAME +#endif /* ACE_HAS_TYPENAME_KEYWORD */ + // 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 @@ -503,26 +522,26 @@ private: // Handle ACE_Message_Queue. #define ACE_SYNCH_1 class _ACE_SYNCH #define ACE_SYNCH_2 _ACE_SYNCH -#define ACE_SYNCH_MUTEX _ACE_SYNCH::MUTEX -#define ACE_SYNCH_CONDITION _ACE_SYNCH::CONDITION +#define ACE_SYNCH_MUTEX ACE_TYPENAME _ACE_SYNCH::MUTEX +#define ACE_SYNCH_CONDITION ACE_TYPENAME _ACE_SYNCH::CONDITION // Handle ACE_Malloc* #define ACE_MEM_POOL_1 class _ACE_MEM_POOL #define ACE_MEM_POOL_2 _ACE_MEM_POOL #define ACE_MEM_POOL _ACE_MEM_POOL -#define ACE_MEM_POOL_OPTIONS _ACE_MEM_POOL::OPTIONS +#define ACE_MEM_POOL_OPTIONS ACE_TYPENAME _ACE_MEM_POOL::OPTIONS // Handle ACE_Svc_Handler #define ACE_PEER_STREAM_1 class _ACE_PEER_STREAM #define ACE_PEER_STREAM_2 _ACE_PEER_STREAM #define ACE_PEER_STREAM _ACE_PEER_STREAM -#define ACE_PEER_STREAM_ADDR _ACE_PEER_STREAM::PEER_ADDR +#define ACE_PEER_STREAM_ADDR ACE_TYPENAME _ACE_PEER_STREAM::PEER_ADDR // Handle ACE_Acceptor #define ACE_PEER_ACCEPTOR_1 class _ACE_PEER_ACCEPTOR #define ACE_PEER_ACCEPTOR_2 _ACE_PEER_ACCEPTOR #define ACE_PEER_ACCEPTOR _ACE_PEER_ACCEPTOR -#define ACE_PEER_ACCEPTOR_ADDR _ACE_PEER_ACCEPTOR::PEER_ADDR +#define ACE_PEER_ACCEPTOR_ADDR ACE_TYPENAME _ACE_PEER_ACCEPTOR::PEER_ADDR // Handle ACE_SOCK_* #define ACE_SOCK_ACCEPTOR ACE_SOCK_Acceptor @@ -1215,6 +1234,10 @@ typedef int ACE_thread_key_t; #include /**/ <errno.h> #include /**/ <stdlib.h> +#if defined (CHORUS) // This must come after limits.h is included +#define MAXPATHLEN _POSIX_PATH_MAX +#endif /* CHORUS */ + // This must come after signal.h is #included. #if defined (SCO) #define SIGIO SIGPOLL @@ -1557,16 +1580,6 @@ typedef SOCKET ACE_SOCKET; #define MAXNAMLEN _MAX_FNAME #define EADDRINUSE WSAEADDRINUSE -// Undefined structs becomes undeclared overloads with MSVC++ 2.0 -// Thus we need to resort to this for unsupported system calls. - -struct sigaction -{ - int sa_flags; - ACE_SignalHandlerV sa_handler; - sigset_t sa_mask; -}; - struct iovec { char *iov_base; // data to be read/written @@ -1724,7 +1737,13 @@ extern "C" { #else #include /**/ <netdb.h> #endif /* VXWORKS */ +#if defined (HPUX) +#define volatile +#endif /* HPUX */ #include /**/ <net/if.h> +#if defined (HPUX) +#undef volatile +#endif /* HPUX */ #include /**/ <netinet/in.h> #include /**/ <arpa/inet.h> } @@ -1974,6 +1993,10 @@ typedef fd_set ACE_FD_SET_TYPE; #define SIGHUP 1 #endif /* SIGHUP */ +#if !defined (SIGINT) +#define SIGINT 2 +#endif /* SIGINT */ + #if !defined (SIGQUIT) #define SIGQUIT 3 #endif /* SIGQUIT */ @@ -268,7 +268,7 @@ operator != (const ACE_Time_Value &tv1, // Define this file to keep /usr/include/memory.h from being included. #include /**/ <cstring> #else -#if defined (VXWORKS) +#if defined (ACE_LACKS_MEMORY_H) #include /**/ <string.h> #else #include /**/ <memory.h> @@ -425,7 +425,7 @@ ACE_INLINE int ACE_OS::mkfifo (const char *file, mode_t mode) { // ACE_TRACE ("ACE_OS::mkfifo"); -#if defined (VXWORKS) +#if defined (VXWORKS) || defined (CHORUS) ACE_NOTSUP_RETURN (-1); #else ACE_OSCALL_RETURN (::mkfifo (file, mode), int, -1); @@ -492,52 +492,6 @@ ACE_OS::setsid (void) } ACE_INLINE int -ACE_OS::sigaddset (sigset_t *s, int signum) -{ - // ACE_TRACE ("ACE_OS::sigaddset"); - ACE_OSCALL_RETURN (::sigaddset (s, signum), int, -1); -} - -ACE_INLINE int -ACE_OS::sigdelset (sigset_t *s, int signum) -{ - // ACE_TRACE ("ACE_OS::sigdelset"); - ACE_OSCALL_RETURN (::sigdelset (s, signum), int, -1); -} - -ACE_INLINE int -ACE_OS::sigemptyset (sigset_t *s) -{ - // ACE_TRACE ("ACE_OS::sigemptyset"); - ACE_OSCALL_RETURN (::sigemptyset (s), int, -1); -} - -ACE_INLINE int -ACE_OS::sigfillset (sigset_t *s) -{ - // ACE_TRACE ("ACE_OS::sigfillset"); - ACE_OSCALL_RETURN (::sigfillset (s), int, -1); -} - -ACE_INLINE int -ACE_OS::sigismember (sigset_t *s, int signum) -{ - // ACE_TRACE ("ACE_OS::sigismember"); - ACE_OSCALL_RETURN (::sigismember (s, signum), int, -1); -} - -ACE_INLINE int -ACE_OS::sigprocmask (int how, const sigset_t *nsp, sigset_t *osp) -{ - // ACE_TRACE ("ACE_OS::sigprocmask"); -#if defined (ACE_LACKS_POSIX_PROTO) - ACE_OSCALL_RETURN (::sigprocmask (how, (int*) nsp, osp), int, -1); -#else - ACE_OSCALL_RETURN (::sigprocmask (how, nsp, osp), int, -1); -#endif /* ACE_LACKS_POSIX_PROTO */ -} - -ACE_INLINE int ACE_OS::strcasecmp (const char *s, const char *t) { // ACE_TRACE ("ACE_OS::strcasecmp"); @@ -712,66 +666,6 @@ ACE_OS::setsid (void) ACE_NOTSUP_RETURN (0); } -ACE_INLINE int -ACE_OS::sigaddset (sigset_t *s, int signum) -{ - ACE_UNUSED_ARG (s); - ACE_UNUSED_ARG (signum); - - // ACE_TRACE ("ACE_OS::sigaddset"); - - ACE_NOTSUP_RETURN (0); -} - -ACE_INLINE int -ACE_OS::sigdelset (sigset_t *s, int signum) -{ - ACE_UNUSED_ARG (s); - ACE_UNUSED_ARG (signum); - - // ACE_TRACE ("ACE_OS::sigdelset"); - ACE_NOTSUP_RETURN (0); -} - -ACE_INLINE int -ACE_OS::sigemptyset (sigset_t *s) -{ - ACE_UNUSED_ARG (s); - - // ACE_TRACE ("ACE_OS::sigemptyset"); - ACE_NOTSUP_RETURN (0); -} - -ACE_INLINE int -ACE_OS::sigfillset (sigset_t *s) -{ - ACE_UNUSED_ARG (s); - - // ACE_TRACE ("ACE_OS::sigfillset"); - ACE_NOTSUP_RETURN (0); -} - -ACE_INLINE int -ACE_OS::sigismember (sigset_t *s, int signum) -{ - ACE_UNUSED_ARG (s); - ACE_UNUSED_ARG (signum); - - // ACE_TRACE ("ACE_OS::sigismember"); - ACE_NOTSUP_RETURN (0); -} - -ACE_INLINE int -ACE_OS::sigprocmask (int how, const sigset_t *nsp, sigset_t *osp) -{ - ACE_UNUSED_ARG (how); - ACE_UNUSED_ARG (nsp); - ACE_UNUSED_ARG (osp); - - // ACE_TRACE ("ACE_OS::sigprocmask"); - ACE_NOTSUP_RETURN (0); -} - ACE_INLINE mode_t ACE_OS::umask (mode_t cmask) { @@ -846,7 +740,7 @@ ACE_OS::gettimeofday (void) #if defined (ACE_HAS_TIMEZONE_GETTIMEOFDAY) || (defined (ACE_HAS_SVR4_GETTIMEOFDAY) && !defined (m88k)) int result; ACE_OSCALL (::gettimeofday (&tv, 0), int, -1, result); -#elif defined (VXWORKS) +#elif defined (VXWORKS) || defined (CHORUS) // Assumes that struct timespec is same size as struct timeval, // which assumes that time_t is a long: it currently (VxWorks 5.2/5.3) is. struct timespec ts; @@ -1091,7 +985,8 @@ ACE_OS::mutex_lock (ACE_mutex_t *m) // ACE_TRACE ("ACE_OS::mutex_lock"); #if defined (ACE_HAS_THREADS) #if defined (ACE_HAS_DCETHREADS) || defined (ACE_HAS_PTHREADS) - ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_mutex_lock (m), ace_result_), int, -1); + // Note, don't use "::" here since the following call is often a macro. + ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_mutex_lock (m), ace_result_), int, -1); #elif defined (ACE_HAS_STHREADS) ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::mutex_lock (m), ace_result_), int, -1); #elif defined (ACE_HAS_WTHREADS) @@ -1134,7 +1029,8 @@ ACE_OS::mutex_trylock (ACE_mutex_t *m) // ACE_TRACE ("ACE_OS::mutex_trylock"); #if defined (ACE_HAS_THREADS) #if defined (ACE_HAS_DCETHREADS) || defined (ACE_HAS_PTHREADS) - ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_mutex_trylock (m), ace_result_), int, -1); + // Note, don't use "::" here since the following call is often a macro. + ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_mutex_trylock (m), ace_result_), int, -1); #elif defined (ACE_HAS_STHREADS) ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::mutex_trylock (m), ace_result_), int, -1); #elif defined (ACE_HAS_WTHREADS) @@ -1189,7 +1085,8 @@ ACE_OS::mutex_unlock (ACE_mutex_t *m) // ACE_TRACE ("ACE_OS::mutex_unlock"); #if defined (ACE_HAS_THREADS) #if defined (ACE_HAS_DCETHREADS) || defined (ACE_HAS_PTHREADS) - ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::pthread_mutex_unlock (m), ace_result_), int, -1); + // Note, don't use "::" here since the following call is often a macro. + ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (pthread_mutex_unlock (m), ace_result_), int, -1); #elif defined (ACE_HAS_STHREADS) ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::mutex_unlock (m), ace_result_), int, -1); #elif defined (ACE_HAS_WTHREADS) @@ -3589,7 +3486,8 @@ ACE_OS::thr_getspecific (ACE_thread_key_t key, void **data) ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::thr_getspecific (key, data), ace_result_), int, -1); #elif defined (ACE_HAS_DCETHREADS) || defined (ACE_HAS_PTHREADS) #if !defined (ACE_HAS_FSU_PTHREADS) && !defined (ACE_HAS_SETKIND_NP) && !defined (ACE_HAS_PTHREAD_GETSPECIFIC_DATAPTR) - *data = ::pthread_getspecific (key); + // Note, don't use "::" here since the following call is often a macro. + *data = pthread_getspecific (key); #elif !defined (ACE_HAS_FSU_PTHREADS) && defined (ACE_HAS_SETKIND_NP) || defined (ACE_HAS_PTHREAD_GETSPECIFIC_DATAPTR) ::pthread_getspecific (key, data); #else /* ACE_HAS_FSU_PTHREADS */ @@ -4017,7 +3915,8 @@ ACE_OS::thr_self (ACE_hthread_t &self) // ACE_TRACE ("ACE_OS::thr_self"); #if defined (ACE_HAS_THREADS) #if defined (ACE_HAS_DCETHREADS) - self = ::pthread_self (); + // Note, don't use "::" here since the following call is often a macro. + self = pthread_self (); #elif defined (ACE_HAS_THREAD_SELF) self = ::thread_self (); #elif defined (ACE_HAS_PTHREADS) || defined (ACE_HAS_SETKIND_NP) @@ -4040,7 +3939,8 @@ ACE_OS::thr_self (void) // ACE_TRACE ("ACE_OS::thr_self"); #if defined (ACE_HAS_THREADS) #if defined (ACE_HAS_DCETHREADS) || defined (ACE_HAS_PTHREADS) - ACE_OSCALL_RETURN (::pthread_self (), int, -1); + // Note, don't use "::" here since the following call is often a macro. + ACE_OSCALL_RETURN (pthread_self (), int, -1); #elif defined (ACE_HAS_STHREADS) ACE_OSCALL_RETURN (::thr_self (), int, -1); #elif defined (ACE_HAS_WTHREADS) @@ -5540,7 +5440,7 @@ ACE_OS::flock_wrlock (ACE_OS::ace_flock_t *lock, short whence, off_t start, off_ len = ::GetFileSize (lock->handle_, NULL); ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::LockFileEx (lock->handle_, LOCKFILE_EXCLUSIVE_LOCK, 0, len, 0, &lock->overlapped_), ace_result_), int, -1); -#elif defined (VXWORKS) +#elif defined (ACE_LACKS_FILELOCKS) ACE_NOTSUP_RETURN (-1); #else lock->lock_.l_whence = whence; @@ -5563,7 +5463,7 @@ ACE_OS::flock_rdlock (ACE_OS::ace_flock_t *lock, short whence, off_t start, off_ len = ::GetFileSize (lock->handle_, NULL); ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::LockFileEx (lock->handle_, 0, 0, len, 0, &lock->overlapped_), ace_result_), int, -1); -#elif defined (VXWORKS) +#elif defined (ACE_LACKS_FILELOCKS) ACE_NOTSUP_RETURN (-1); #else lock->lock_.l_whence = whence; @@ -5586,7 +5486,7 @@ ACE_OS::flock_trywrlock (ACE_OS::ace_flock_t *lock, short whence, off_t start, o len = ::GetFileSize (lock->handle_, NULL); ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::LockFileEx (lock->handle_, LOCKFILE_FAIL_IMMEDIATELY | LOCKFILE_EXCLUSIVE_LOCK, 0, len, 0, &lock->overlapped_), ace_result_), int, -1); -#elif defined (VXWORKS) +#elif defined (ACE_LACKS_FILELOCKS) ACE_NOTSUP_RETURN (-1); #else lock->lock_.l_whence = whence; @@ -5610,7 +5510,7 @@ ACE_OS::flock_tryrdlock (ACE_OS::ace_flock_t *lock, short whence, off_t start, o len = ::GetFileSize (lock->handle_, NULL); ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::LockFileEx (lock->handle_, LOCKFILE_FAIL_IMMEDIATELY, 0, len, 0, &lock->overlapped_), ace_result_), int, -1); -#elif defined (VXWORKS) +#elif defined (ACE_LACKS_FILELOCKS) ACE_NOTSUP_RETURN (-1); #else lock->lock_.l_whence = whence; @@ -5634,7 +5534,7 @@ ACE_OS::flock_unlock (ACE_OS::ace_flock_t *lock, short whence, off_t start, off_ len = ::GetFileSize (lock->handle_, NULL); ACE_OSCALL_RETURN (ACE_ADAPT_RETVAL (::UnlockFileEx (lock->handle_, 0, len, 0, &lock->overlapped_), ace_result_), int, -1); -#elif defined (VXWORKS) +#elif defined (ACE_LACKS_FILELOCKS) ACE_NOTSUP_RETURN (-1); #else lock->lock_.l_whence = whence; @@ -5664,7 +5564,7 @@ ACE_INLINE int ACE_OS::execv (const char *path, char *const argv[]) { // ACE_TRACE ("ACE_OS::execv"); -#if defined (ACE_WIN32) || defined (VXWORKS) +#if defined (ACE_LACKS_EXEC) ACE_UNUSED_ARG (path); ACE_UNUSED_ARG (argv); @@ -5678,7 +5578,7 @@ ACE_INLINE int ACE_OS::execve (const char *path, char *const argv[], char *const envp[]) { // ACE_TRACE ("ACE_OS::execve"); -#if defined (ACE_WIN32) || defined (VXWORKS) +#if defined (ACE_LACKS_EXEC) ACE_UNUSED_ARG (path); ACE_UNUSED_ARG (argv); ACE_UNUSED_ARG (envp); @@ -5693,7 +5593,7 @@ ACE_INLINE int ACE_OS::execvp (const char *file, char *const argv[]) { // ACE_TRACE ("ACE_OS::execvp"); -#if defined (ACE_WIN32) || defined (VXWORKS) +#if defined (ACE_LACKS_EXEC) ACE_UNUSED_ARG (file); ACE_UNUSED_ARG (argv); @@ -5914,7 +5814,7 @@ ACE_INLINE pid_t ACE_OS::fork (void) { // ACE_TRACE ("ACE_OS::fork"); -#if defined (ACE_WIN32) || defined (VXWORKS) +#if defined (ACE_LACKS_EXEC) ACE_NOTSUP_RETURN (pid_t (-1)); #else ACE_OSCALL_RETURN (::fork (), pid_t, -1); @@ -5927,7 +5827,7 @@ ACE_OS::getpid (void) // ACE_TRACE ("ACE_OS::getpid"); #if defined (ACE_WIN32) return ::GetCurrentProcessId(); -#elif defined (VXWORKS) +#elif defined (VXWORKS) || defined (CHORUS) // getpid() is not supported: just one process anyways return 0; #else @@ -6061,6 +5961,8 @@ ACE_OS::sigaction (int signum, osa->sa_handler = ::signal (signum, nsa->sa_handler); return osa->sa_handler == SIG_ERR ? -1 : 0; +#elif defined (CHORUS) + ACE_NOTSUP_RETURN (-1); #elif defined (ACE_LACKS_POSIX_PROTO) ACE_OSCALL_RETURN (::sigaction (signum, (struct sigaction*) nsa, osa), int, -1); #else @@ -6489,3 +6391,82 @@ ACE_OS::thr_suspend (const ACE_Thread_ID &thr_id) } #endif /* 0 */ + +ACE_INLINE int +ACE_OS::sigaddset (sigset_t *s, int signum) +{ + // ACE_TRACE ("ACE_OS::sigaddset"); +#if !defined (ACE_LACKS_SIGSET) + ACE_OSCALL_RETURN (::sigaddset (s, signum), int, -1); +#else + ACE_UNUSED_ARG (s); + ACE_UNUSED_ARG (signum); + ACE_NOTSUP_RETURN (-1); +#endif /* !ACE_LACKS_SIGSET */ +} + +ACE_INLINE int +ACE_OS::sigdelset (sigset_t *s, int signum) +{ +#if !defined (ACE_LACKS_SIGSET) + ACE_OSCALL_RETURN (::sigdelset (s, signum), int, -1); +#else + ACE_UNUSED_ARG (s); + ACE_UNUSED_ARG (signum); + ACE_NOTSUP_RETURN (-1); +#endif /* !ACE_LACKS_SIGSET */ +} + +ACE_INLINE int +ACE_OS::sigemptyset (sigset_t *s) +{ +#if !defined (ACE_LACKS_SIGSET) + ACE_OSCALL_RETURN (::sigemptyset (s), int, -1); +#else + ACE_UNUSED_ARG (s); + ACE_NOTSUP_RETURN (-1); +#endif /* !ACE_LACKS_SIGSET */ +} + +ACE_INLINE int +ACE_OS::sigfillset (sigset_t *s) +{ +#if !defined (ACE_LACKS_SIGSET) + ACE_OSCALL_RETURN (::sigfillset (s), int, -1); +#else + ACE_UNUSED_ARG (s); + ACE_NOTSUP_RETURN (0); + ACE_NOTSUP_RETURN (-1); +#endif /* !ACE_LACKS_SIGSET */ +} + +ACE_INLINE int +ACE_OS::sigismember (sigset_t *s, int signum) +{ +#if !defined (ACE_LACKS_SIGSET) + ACE_OSCALL_RETURN (::sigismember (s, signum), int, -1); +#else + ACE_UNUSED_ARG (s); + ACE_UNUSED_ARG (signum); + ACE_NOTSUP_RETURN (-1); +#endif /* !ACE_LACKS_SIGSET */ +} + +ACE_INLINE int +ACE_OS::sigprocmask (int how, const sigset_t *nsp, sigset_t *osp) +{ +#if !defined (ACE_LACKS_SIGSET) +#if defined (ACE_LACKS_POSIX_PROTO) + ACE_OSCALL_RETURN (::sigprocmask (how, (int*) nsp, osp), int, -1); +#else + ACE_OSCALL_RETURN (::sigprocmask (how, nsp, osp), int, -1); +#endif /* ACE_LACKS_POSIX_PROTO */ +#else + ACE_UNUSED_ARG (how); + ACE_UNUSED_ARG (nsp); + ACE_UNUSED_ARG (osp); + ACE_NOTSUP_RETURN (-1); +#endif /* !ACE_LACKS_SIGSET */ +} + + diff --git a/ace/README b/ace/README index 2ab682799b7..d9547908216 100644 --- a/ace/README +++ b/ace/README @@ -149,10 +149,13 @@ ACE_HAS_YIELD_VOID_PTR Platform requires pthread_yield() to take a NULL. ACE_LACKS_CONST_TIMESPEC_PTR Platform forgot const in cond_timewait (e.g., HP/UX). ACE_LACKS_COND_T Platform lacks condition variables (e.g., Win32 and VxWorks) ACE_LACKS_CONDATTR_PSHARED Platform has no implementation of pthread_condattr_setpshared(), even though it supports pthreads! +ACE_LACKS_EXEC Platform lacks the exec() family of system calls (e.g., Win32, VxWorks, Chorus) +ACE_LACKS_FILELOCKS Platform lacks file locking mechanism ACE_LACKS_IOSTREAM_FX iostream header does not declare ipfx (), opfx (), etc. ACE_LACKS_LINEBUFFERED_STREAMBUF Platform lacks streambuf "linebuffered ()". ACE_LACKS_MADVISE Platform lacks madvise() (e.g., Linux) ACE_LACKS_MALLOC_H Platform lacks malloc.h +ACE_LACKS_MEMORY_H Platform lacks memory.h (e.g., VxWorks and Chorus) ACE_LACKS_MKTEMP ACE has no mktemp() ACE_LACKS_MMAP The platform doesn't have mmap(2) (e.g., SCO UNIX). ACE_LACKS_MODE_MASKS Platform/compiler doesn't have open() mode masks. @@ -172,7 +175,9 @@ ACE_LACKS_SBRK Platform lacks a working sbrk() (e.g., Win32 and VxWorks) ACE_LACKS_SEMBUF_T Platform lacks struct sembuf (e.g., Win32 and VxWorks) ACE_LACKS_SETDETACH Platform lacks pthread_attr_setdetachstate() (e.g., HP/UX 10.x) ACE_LACKS_SETSCHED Platform lacks pthread_attr_setsched() (e.g. MVS) +ACE_LACKS_SIGACTION Platform lacks struct sigaction (e.g., Win32 and Chorus) ACE_LACKS_SIGNED_CHAR Platform lacks "signed char" type (broken!) +ACE_LACKS_SIGSET Platform lacks signal sets (e.g., Chorus and Win32) ACE_LACKS_SYS_NERR Platforms/compiler lacks the sys_nerr variable (e.g., VxWorks and MVS). ACE_LACKS_KEYDELETE Platform lacks TSS keydelete (e.g., HP/UX) ACE_LACKS_SENDMSG Platform lacks sendmsg() (e.g., Linux) diff --git a/ace/SOCK_Dgram_Mcast.cpp b/ace/SOCK_Dgram_Mcast.cpp index 559f65ab63f..9b6630f3ef9 100644 --- a/ace/SOCK_Dgram_Mcast.cpp +++ b/ace/SOCK_Dgram_Mcast.cpp @@ -48,7 +48,14 @@ ACE_SOCK_Dgram_Mcast::subscribe (const ACE_INET_Addr &mcast_addr, &one, sizeof one) == -1) return -1; - +#if defined (SO_REUSEPORT) + if (this->ACE_SOCK::set_option (SOL_SOCKET, + SO_REUSEPORT, + &one, + sizeof one) == -1) + return -1; +#endif /* SO_REUSEPORT */ + // Create an address to bind the socket to. ACE_INET_Addr local; diff --git a/ace/Signal.cpp b/ace/Signal.cpp index 794211522b6..2e4ec3d5d78 100644 --- a/ace/Signal.cpp +++ b/ace/Signal.cpp @@ -18,6 +18,9 @@ ace_sig_handler_dispatch (int signum, siginfo_t *info, ucontext_t *context) ACE_Sig_Handler::dispatch (signum, info, context); } +static ACE_SignalHandler ace_signal_handler_dispatcher = ACE_SignalHandler (ace_sig_handler_dispatch); + +#if !defined (HPUX) extern "C" void ace_sig_handlers_dispatch (int signum, siginfo_t *info, ucontext_t *context) { @@ -25,8 +28,9 @@ ace_sig_handlers_dispatch (int signum, siginfo_t *info, ucontext_t *context) ACE_Sig_Handlers::dispatch (signum, info, context); } -static ACE_SignalHandler ace_signal_handler_dispatcher = ACE_SignalHandler (ace_sig_handler_dispatch); static ACE_SignalHandler ace_signal_handlers_dispatcher = ACE_SignalHandler (ace_sig_handlers_dispatch); +#endif /* HPUX */ + #else static ACE_SignalHandler ace_signal_handler_dispatcher = ACE_SignalHandler (ACE_Sig_Handler::dispatch); diff --git a/ace/Strategies_T.cpp b/ace/Strategies_T.cpp index 85ea21ee970..9772ce6f0c9 100644 --- a/ace/Strategies_T.cpp +++ b/ace/Strategies_T.cpp @@ -343,13 +343,7 @@ template <class SVC_HANDLER> ACE_Process_Strategy<SVC_HANDLER>::ACE_Process_Strategy (int n_processes) { ACE_TRACE ("ACE_Process_Strategy<SVC_HANDLER>::ACE_Process_Strategy"); - this->open (thr_mgr, thr_flags, n_threads); -} - -template <class SVC_HANDLER> -ACE_Process_Strategy<SVC_HANDLER>::ACE_Process_Strategy (void) -{ - ACE_TRACE ("ACE_Process_Strategy<SVC_HANDLER>::ACE_Process_Strategy"); + this->open (n_processes); } template <class SVC_HANDLER> diff --git a/ace/Strategies_T.h b/ace/Strategies_T.h index 3834a980eda..2f130f263aa 100644 --- a/ace/Strategies_T.h +++ b/ace/Strategies_T.h @@ -250,8 +250,6 @@ class ACE_Process_Strategy : public ACE_Concurrency_Strategy<SVC_HANDLER> { public: // = Intialization and termination methods. - ACE_Process_Strategy (void); - // "Do-nothing constructor" ACE_Process_Strategy (int n_processes = 1); // Initialize the strategy. diff --git a/ace/Stream_Modules.cpp b/ace/Stream_Modules.cpp index 9bbea1b0ae2..7842eb55944 100644 --- a/ace/Stream_Modules.cpp +++ b/ace/Stream_Modules.cpp @@ -288,7 +288,7 @@ ACE_Stream_Tail<ACE_SYNCH_2>::fini (void) return 0; } -ACE_ALLOC_HOOK_DEFINE(ACE_Thru_Task) +// ACE_ALLOC_HOOK_DEFINE(ACE_Thru_Task) template <ACE_SYNCH_1> ACE_Thru_Task<ACE_SYNCH_2>::ACE_Thru_Task (void) diff --git a/ace/Stream_Modules.h b/ace/Stream_Modules.h index 26e3151ae1a..7bb102b82cb 100644 --- a/ace/Stream_Modules.h +++ b/ace/Stream_Modules.h @@ -116,7 +116,7 @@ public: void dump (void) const; // Dump the state of an object. - ACE_ALLOC_HOOK_DECLARE; + // ACE_ALLOC_HOOK_DECLARE; // Declare the dynamic allocation hooks. }; diff --git a/ace/Task_T.cpp b/ace/Task_T.cpp index 489ec46371b..b7df72d00c5 100644 --- a/ace/Task_T.cpp +++ b/ace/Task_T.cpp @@ -6,7 +6,6 @@ #define ACE_BUILD_DLL #include "ace/Task_T.h" -#include "ace/Module.h" #include "ace/Service_Config.h" #if !defined (__ACE_INLINE__) diff --git a/ace/config-chorus.h b/ace/config-chorus.h new file mode 100644 index 00000000000..50d517cce74 --- /dev/null +++ b/ace/config-chorus.h @@ -0,0 +1,94 @@ +/* -*- C++ -*- */ +// $Id: + +// The following configuration file is designed to work for chorus +// platforms using GNU C++ and the MIT threads package. + +#if !defined (ACE_CONFIG_H) +#define ACE_CONFIG_H + +#if !defined (__ACE_INLINE__) +#define __ACE_INLINE__ +#endif /* ! __ACE_INLINE__ */ + +#if defined (__ACE_INLINE__) +#define ACE_HAS_INLINED_OSCALLS +#endif /* __ACE_INLINE__ */ + +#define CHORUS 3.1b +#if defined (linux) +#undef linux +#endif + +#define ACE_LACKS_EXEC +#define ACE_LACKS_SIGACTION +#define ACE_LACKS_SIGSET +#define ACE_LACKS_FILELOCKS + +// got struct timespec +#define ACE_HAS_POSIX_TIME +#define ACE_LACKS_STRRECVFD + +#define ACE_HAS_CPLUSPLUS_HEADERS + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +#define ACE_NEEDS_WRITEV +#define ACE_NEEDS_READV + +// Platforms lacks UNIX domain sockets. +#define ACE_LACKS_UNIX_DOMAIN_SOCKETS +#define ACE_LACKS_UTSNAME_T +#define ACE_LACKS_SETSCHED + +#define ACE_LACKS_MSYNC +#define ACE_LACKS_MADVISE +#define ACE_LACKS_MALLOC_T +#define ACE_LACKS_MEMORY_H +#define ACE_LACKS_PARAM_H + +// Compiler/platform supports sys_siglist array. +//#define ACE_HAS_SYS_SIGLIST + +// Compiler supports the ssize_t typedef. +#define ACE_HAS_SSIZE_T + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +// Chorus defines struct msghdr in posix/sys/socket.h +#define ACE_HAS_MSG + +// TDN - adapted from file for SunOS4 platforms using the GNU g++ compiler +// Compiler's template mechanism must see source code (i.e., .C files). +#define ACE_TEMPLATES_REQUIRE_SOURCE + +#define ACE_TEMPLATES_REQUIRE_SPECIALIZATION + +// Compiler doesn't support static data member templates. +#define ACE_LACKS_STATIC_DATA_MEMBER_TEMPLATES + +// Yes, we do have threads. +#define ACE_HAS_THREADS +#define ACE_HAS_POSIX_SEM +#define ACE_HAS_THREAD_SPECIFIC_STORAGE +#define ACE_MT_SAFE +// And they're even POSIX pthreads +#define ACE_HAS_PTHREADS +#define ACE_LACKS_RWLOCK_T +#define ACE_HAS_SIGWAIT +#define ACE_LACKS_CONDATTR_PSHARED +#define ACE_LACKS_SEMBUF_T + +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-hpux-10.x-aCC.h b/ace/config-hpux-10.x-aCC.h new file mode 100644 index 00000000000..540d31882a6 --- /dev/null +++ b/ace/config-hpux-10.x-aCC.h @@ -0,0 +1,122 @@ +/* -*- C++ -*- */ +// $Id$ + +// The following configuration file is designed to work for HP +// platforms running HP/UX 10.x. For using HP C++ compiler with +// templates you should have patch PHSS_6246. + +#if !defined (ACE_CONFIG_H) +#define ACE_CONFIG_H + +// Compiling for HPUX. +#if !defined (HPUX) +#define HPUX +#endif /* HPUX */ + +#define _HPUX_SOURCE +#include /**/ <sys/stdsyms.h> +#include /**/ <sched.h> /* pthread.h doesn't include this */ + +#define ACE_HAS_BROKEN_CONVERSIONS + +// They forgot a const in the prototype of const_timewait... +#define ACE_LACKS_CONST_TIMESPEC_PTR + +#define ACE_HAS_TYPENAME_KEYWORD +#define ACE_HAS_TEMPLATE_TYPEDEFS +#define ACE_TEMPLATES_REQUIRE_SOURCE + +#define ACE_LACKS_SYSCALL +#define ACE_HAS_POSIX_TIME + +// Platform supports System V IPC (most versions of UNIX, but not Win32) +#define ACE_HAS_SYSV_IPC + +// Platform supports recvmsg and sendmsg. +#define ACE_HAS_MSG + +// Compiler/platform contains the <sys/syscall.h> file. +#define ACE_HAS_SYSCALL_H + +// Fixes a problem with HP/UX not wrapping the mmap(2) header files +// with extern "C". +#define ACE_HAS_BROKEN_MMAP_H + +// Prototypes for both signal() and struct sigaction are consistent. +#define ACE_HAS_CONSISTENT_SIGNAL_PROTOTYPES + +// Compiler/platform has correctly prototyped header files. +#define ACE_HAS_CPLUSPLUS_HEADERS + +// Header files lack t_errno for ACE_TLI. +#define ACE_LACKS_T_ERRNO + +// Compiler/platform supports poll(). +#define ACE_HAS_POLL + +// Platform supports POSIX O_NONBLOCK semantics. +#define ACE_HAS_POSIX_NONBLOCK + +// Compiler/platform defines the sig_atomic_t typedef +#define ACE_HAS_SIG_ATOMIC_T + +// #define ACE_HAS_THREADS +// #define ACE_HAS_PTHREADS +// #define ACE_MT_SAFE +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_UCONTEXT_T +#define ACE_LACKS_PTHREAD_THR_SIGSETMASK +#define ACE_HAS_SETKIND_NP +#define ACE_LACKS_CONDATTR_PSHARED +#define ACE_LACKS_SI_ADDR +#define ACE_LACKS_SETDETACH /* new */ +#define ACE_LACKS_KEYDELETE /* new */ +#define ACE_LACKS_THREAD_PROCESS_SCOPING +#define ACE_LACKS_THREAD_STACK_ADDR + +// Compiler/platform has thread-specific storage +// #define ACE_HAS_THREAD_SPECIFIC_STORAGE + +// Compiler/platform supports struct strbuf. +#define ACE_HAS_STRBUF_T +#include /**/ <stropts.h> /* for struct strbuf */ + +// Compiler supports the ssize_t typedef. +#define ACE_HAS_SSIZE_T + +// Defines the page size of the system. +#define ACE_PAGE_SIZE 4096 + +// Compiler/platform supports strerror (). +#define ACE_HAS_STRERROR + +// ??? +#define ACE_HAS_SUNOS4_GETTIMEOFDAY + +// HP/UX has an undefined syscall for GETRUSAGE... +#define ACE_HAS_SYSCALL_GETRUSAGE + +// Note, this only works if the flag is set above! +#define ACE_HAS_GETRUSAGE + +// Platform uses int for select() rather than fd_set. +// #define ACE_SELECT_USES_INT + +// Platform has the XLI version of ACE_TLI. +// #define ACE_HAS_XLI + +// Platform supports ACE_TLI tiuser header. +#define ACE_HAS_TIUSER_H + +// Platform provides ACE_TLI function prototypes. +#define ACE_HAS_TLI_PROTOTYPES + +// Platform supports ACE_TLI. +#define ACE_HAS_TLI + +// Turns off the tracing feature. +#if !defined (ACE_NTRACE) +#define ACE_NTRACE 1 +#endif /* ACE_NTRACE */ + +#endif /* ACE_CONFIG_H */ diff --git a/ace/config-hpux-10.x-g++.h b/ace/config-hpux-10.x-g++.h index 01ea21616ad..ab34959076d 100644 --- a/ace/config-hpux-10.x-g++.h +++ b/ace/config-hpux-10.x-g++.h @@ -81,8 +81,11 @@ // Note, this only works if the flag is set above! #define ACE_HAS_GETRUSAGE +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_UCONTEXT_T + // Platform uses int for select() rather than fd_set. -#define ACE_SELECT_USES_INT +// #define ACE_SELECT_USES_INT // Platform has the XLI version of ACE_TLI. // #define ACE_HAS_XLI diff --git a/ace/config-hpux-10.x.h b/ace/config-hpux-10.x.h index 9b4307720a7..78ac070cf20 100644 --- a/ace/config-hpux-10.x.h +++ b/ace/config-hpux-10.x.h @@ -23,6 +23,7 @@ #define ACE_LACKS_CONST_TIMESPEC_PTR #define ACE_LACKS_SYSCALL +#define ACE_LACKS_STRRECVFD #define ACE_HAS_POSIX_TIME // Platform supports System V IPC (most versions of UNIX, but not Win32) @@ -94,8 +95,11 @@ // Note, this only works if the flag is set above! #define ACE_HAS_GETRUSAGE +#define ACE_HAS_SIGINFO_T +#define ACE_HAS_UCONTEXT_T + // Platform uses int for select() rather than fd_set. -#define ACE_SELECT_USES_INT +// #define ACE_SELECT_USES_INT // Platform has the XLI version of ACE_TLI. // #define ACE_HAS_XLI diff --git a/ace/config-vxworks-ghs-1.8.h b/ace/config-vxworks-ghs-1.8.h index c85c1bfa56b..679ed67954a 100644 --- a/ace/config-vxworks-ghs-1.8.h +++ b/ace/config-vxworks-ghs-1.8.h @@ -11,6 +11,9 @@ #define __ACE_INLINE__ #endif /* ! __ACE_INLINE__ */ +#define ACE_LACKS_EXEC +#define ACE_LACKS_MEMORY_H +#define ACE_LACKS_FILELOCKS #define ACE_LACKS_STRCASECMP #define ACE_LACKS_SYS_NERR #define ACE_LACKS_COND_T diff --git a/ace/config-vxworks5.2-g++.h b/ace/config-vxworks5.2-g++.h index 9fab6c5f906..394f868a873 100644 --- a/ace/config-vxworks5.2-g++.h +++ b/ace/config-vxworks5.2-g++.h @@ -11,7 +11,10 @@ #define __ACE_INLINE__ #endif /* ! __ACE_INLINE__ */ +#define ACE_LACKS_EXEC #define ACE_LACKS_STRCASECMP +#define ACE_LACKS_FILELOCKS +#define ACE_LACKS_MEMORY_H #define ACE_LACKS_SYS_NERR #define ACE_LACKS_COND_T #define ACE_LACKS_RWLOCK_T diff --git a/ace/config-win32-msvc2.0.h b/ace/config-win32-msvc2.0.h index 2fcb17091a2..3a399254928 100644 --- a/ace/config-win32-msvc2.0.h +++ b/ace/config-win32-msvc2.0.h @@ -9,6 +9,9 @@ #define ACE_CONFIG_H #define ACE_HAS_EXCEPTIONS +#define ACE_LACKS_SIGACTION +#define ACE_LACKS_SIGSET +#define ACE_LACKS_EXEC // We are using STL's min and max (in algobase.h). Therefore the // macros in window.h are extra diff --git a/ace/config-win32-msvc4.x.h b/ace/config-win32-msvc4.x.h index c7e1efc3bcf..092e0a11a3f 100644 --- a/ace/config-win32-msvc4.x.h +++ b/ace/config-win32-msvc4.x.h @@ -10,6 +10,9 @@ #define ACE_HAS_EXCEPTIONS #define ACE_HAS_MFC +#define ACE_LACKS_SIGACTION +#define ACE_LACKS_SIGSET +#define ACE_LACKS_EXEC // We are using STL's min and max (in algobase.h). Therefore the // macros in window.h are extra diff --git a/ace/config-winnt-4.0-msvc4.x.h b/ace/config-winnt-4.0-msvc4.x.h index 9b03e2c3827..a4b4aa3c967 100644 --- a/ace/config-winnt-4.0-msvc4.x.h +++ b/ace/config-winnt-4.0-msvc4.x.h @@ -8,7 +8,10 @@ #define ACE_CONFIG_H #define ACE_HAS_EXCEPTIONS +#define ACE_LACKS_SIGACTION #define ACE_HAS_MFC +#define ACE_LACKS_SIGSET +#define ACE_LACKS_EXEC // We are using STL's min and max (in algobase.h). Therefore the // macros in window.h are extra |