diff options
90 files changed, 663 insertions, 27 deletions
diff --git a/ace/Activation_Queue.cpp b/ace/Activation_Queue.cpp index 1dac80cdea9..5d9d2818cf1 100644 --- a/ace/Activation_Queue.cpp +++ b/ace/Activation_Queue.cpp @@ -5,6 +5,10 @@ #include "ace/Activation_Queue.h" +#if !defined (__ACE_INLINE__) +#include "ace/Activation_Queue.i" +#endif /* __ACE_INLINE__ */ + // Dump the state of an object. void diff --git a/ace/Activation_Queue.h b/ace/Activation_Queue.h index f62ae1f5d43..3516b33b497 100644 --- a/ace/Activation_Queue.h +++ b/ace/Activation_Queue.h @@ -58,5 +58,9 @@ protected: // Keeps track of whether we need to delete the queue. }; +#if defined (__ACE_INLINE__) +#include "ace/Activation_Queue.i" +#endif /* __ACE_INLINE__ */ + #endif /* ACE_ACTIVATION_QUEUE_H */ diff --git a/ace/Activation_Queue.i b/ace/Activation_Queue.i new file mode 100644 index 00000000000..4bf8874117c --- /dev/null +++ b/ace/Activation_Queue.i @@ -0,0 +1,4 @@ +/* -*- C++ -*- */ +// $Id$ + +// Activation_Queue.i diff --git a/ace/Dynamic.h b/ace/Dynamic.h index 90e4b426882..9015992b8c0 100644 --- a/ace/Dynamic.h +++ b/ace/Dynamic.h @@ -30,6 +30,7 @@ class ACE_Export ACE_Dynamic // the call to operator new and the call to the constructor. public: ACE_Dynamic (void); + ~ACE_Dynamic (void); void set (void); // Sets a flag that indicates that the object was dynamically diff --git a/ace/Dynamic.i b/ace/Dynamic.i index a8395adc4a5..6a32b94d4e6 100644 --- a/ace/Dynamic.i +++ b/ace/Dynamic.i @@ -3,6 +3,12 @@ // Dynamic.i +ACE_INLINE +ACE_Dynamic::~ACE_Dynamic (void) +{ + ACE_TRACE ("ACE_Dynamic::~ACE_Dynamic"); +} + ACE_INLINE void ACE_Dynamic::set (void) { diff --git a/ace/Event_Handler.h b/ace/Event_Handler.h index 4eab2c20423..c5cc51a7518 100644 --- a/ace/Event_Handler.h +++ b/ace/Event_Handler.h @@ -137,6 +137,9 @@ public: ACE_Notification_Buffer (ACE_Event_Handler *eh, ACE_Reactor_Mask mask); + ~ACE_Notification_Buffer (void); + // Default dtor. + ACE_Event_Handler *eh_; // Pointer to the Event_Handler that will be dispatched // by the main event loop. diff --git a/ace/Event_Handler.i b/ace/Event_Handler.i index 18110dfeffe..6ecccb4b1db 100644 --- a/ace/Event_Handler.i +++ b/ace/Event_Handler.i @@ -1,7 +1,10 @@ /* -*- C++ -*- */ // $Id$ -#include "ace/Event_Handler.h" // Event_Handler.i +ACE_INLINE +ACE_Notification_Buffer::~ACE_Notification_Buffer (void) +{ +} diff --git a/ace/Get_Opt.h b/ace/Get_Opt.h index fe31b26b4e7..7409e0bef6d 100644 --- a/ace/Get_Opt.h +++ b/ace/Get_Opt.h @@ -52,6 +52,9 @@ public: // or the text of the following <argv>-element, is returned in // <optarg>. + ~ACE_Get_Opt (void); + // Default dtor. + int operator () (void); // Scan elements of <argv> (whose length is <argc>) for option // characters given in <optstring>. diff --git a/ace/Get_Opt.i b/ace/Get_Opt.i index b5a6d1869cd..eceace918fa 100644 --- a/ace/Get_Opt.i +++ b/ace/Get_Opt.i @@ -3,3 +3,7 @@ // Get_Opt.i +ACE_INLINE +ACE_Get_Opt::~ACE_Get_Opt (void) +{ +} diff --git a/ace/Handle_Set.h b/ace/Handle_Set.h index 0dc7a1cf72d..59662920575 100644 --- a/ace/Handle_Set.h +++ b/ace/Handle_Set.h @@ -39,6 +39,11 @@ public: ACE_Handle_Set (const ACE_FD_SET_TYPE &mask); +#if defined (ACE_HAS_WINCE) + ~ACE_Handle_Set (void); + // Default dtor. +#endif /* ACE_HAS_WINCE */ + // = Methods for manipulating bitsets. void reset (void); // Initialize the bitmask to all 0s and reset the associated fields. @@ -124,6 +129,9 @@ public: ACE_Handle_Set_Iterator (const ACE_Handle_Set &hs); // Constructor. + ~ACE_Handle_Set_Iterator (void); + // Default dtor. + ACE_HANDLE operator () (void); // "Next" operator. Returns the next unseen <ACE_HANDLE> in the // <Handle_Set> up to <handle_set_.max_handle_>). When all the diff --git a/ace/Handle_Set.i b/ace/Handle_Set.i index 32c8608744b..cc8808b964c 100644 --- a/ace/Handle_Set.i +++ b/ace/Handle_Set.i @@ -5,6 +5,14 @@ // Initialize the bitmask to all 0s and reset the associated fields. +#if defined (ACE_HAS_WINCE) +ACE_INLINE +ACE_Handle_Set::~ACE_Handle_Set (void) +{ + ACE_TRACE ("ACE_Handle_Set::~ACE_Handle_Set"); +} +#endif /* ACE_HAS_WINCE */ + ACE_INLINE void ACE_Handle_Set::reset (void) { @@ -133,3 +141,7 @@ ACE_Handle_Set::operator fd_set *() return (fd_set*) NULL; } +ACE_INLINE +ACE_Handle_Set_Iterator::~ACE_Handle_Set_Iterator (void) +{ +} diff --git a/ace/High_Res_Timer.h b/ace/High_Res_Timer.h index ce81b0b8a72..84933d0eff7 100644 --- a/ace/High_Res_Timer.h +++ b/ace/High_Res_Timer.h @@ -86,6 +86,9 @@ public: ACE_High_Res_Timer (void); // Initialize the timer. + ~ACE_High_Res_Timer (void); + // dtor. + void reset (void); // Reinitialize the timer. diff --git a/ace/High_Res_Timer.i b/ace/High_Res_Timer.i index 2f6c007dbc3..44b991509c6 100644 --- a/ace/High_Res_Timer.i +++ b/ace/High_Res_Timer.i @@ -68,6 +68,11 @@ ACE_High_Res_Timer::ACE_High_Res_Timer (void) this->reset (); } +ACE_INLINE +ACE_High_Res_Timer::~ACE_High_Res_Timer (void) +{ +} + ACE_INLINE void ACE_High_Res_Timer::start (const ACE_OS::ACE_HRTimer_Op op) { diff --git a/ace/INET_Addr.h b/ace/INET_Addr.h index 3fd2fd93b9a..b515b186d65 100644 --- a/ace/INET_Addr.h +++ b/ace/INET_Addr.h @@ -60,6 +60,9 @@ public: // <port_name> and an Internet <ip_addr>. This method assumes that // <ip_addr> is in host byte order. + ~ACE_INET_Addr (void); + // Default dtor. + // = Direct initialization methods (useful after the object has been // constructed). int set (const ACE_INET_Addr &); diff --git a/ace/INET_Addr.i b/ace/INET_Addr.i index ebeefaca31c..c22638c576e 100644 --- a/ace/INET_Addr.i +++ b/ace/INET_Addr.i @@ -3,6 +3,12 @@ // INET_Addr.i +// Default dtor. +ACE_INLINE +ACE_INET_Addr::~ACE_INET_Addr (void) +{ +} + // Return the port number, converting it into host byte order... ACE_INLINE u_short diff --git a/ace/IO_SAP.h b/ace/IO_SAP.h index 5ca0d037fee..50f5af6e0d7 100644 --- a/ace/IO_SAP.h +++ b/ace/IO_SAP.h @@ -31,6 +31,9 @@ public: INVALID_HANDLE = -1 // Be consistent with Winsock }; + ~ACE_IO_SAP (void); + // Default dtor. + int control (int cmd, void *) const; // Interface for ioctl. diff --git a/ace/IO_SAP.i b/ace/IO_SAP.i index 3d87ca16d80..5bb805d48f4 100644 --- a/ace/IO_SAP.i +++ b/ace/IO_SAP.i @@ -3,6 +3,12 @@ // IO_SAP.i +ASYS_INLINE +ACE_IO_SAP::~ACE_IO_SAP (void) +{ + ACE_TRACE ("ACE_IO_SAP::~ACE_IO_SAP"); +} + // Used to return the underlying handle_. ASYS_INLINE ACE_HANDLE diff --git a/ace/IPC_SAP.h b/ace/IPC_SAP.h index 2081d5de64c..3cd8f7d3bc7 100644 --- a/ace/IPC_SAP.h +++ b/ace/IPC_SAP.h @@ -25,6 +25,9 @@ class ACE_Export ACE_IPC_SAP // Defines the member functions for the base class of the // ACE_IPC_SAP abstraction. public: + ~ACE_IPC_SAP (void); + // Default dtor. + int control (int cmd, void *) const; // Interface for ioctl. diff --git a/ace/IPC_SAP.i b/ace/IPC_SAP.i index 4d3f0dbbead..bb5915dd589 100644 --- a/ace/IPC_SAP.i +++ b/ace/IPC_SAP.i @@ -5,6 +5,12 @@ // Used to return the underlying handle_. +ASYS_INLINE +ACE_IPC_SAP::~ACE_IPC_SAP (void) +{ + ACE_TRACE ("ACE_IPC_SAP::~ACE_IPC_SAP"); +} + ASYS_INLINE ACE_HANDLE ACE_IPC_SAP::get_handle (void) const { diff --git a/ace/Local_Tokens.h b/ace/Local_Tokens.h index 3cc4440432a..22e98744fbc 100644 --- a/ace/Local_Tokens.h +++ b/ace/Local_Tokens.h @@ -179,6 +179,9 @@ public: // These are passed to the constructor of ACE_TPQ_Entry in // make_TSS_TYPE + ~ACE_TSS_TPQ_Entry (void); + // Destructor. + virtual ACE_TPQ_Entry *make_TSS_TYPE (void) const; // Allows us to pass args to the construction of the TSS object. @@ -224,6 +227,9 @@ public: ACE_TPQ_Iterator (ACE_Token_Proxy_Queue &q); // Construction. + ~ACE_TPQ_Iterator (void); + // Destructor. + int next (ACE_TPQ_Entry *&next_item); // Pass back the <next_item>. @@ -262,6 +268,9 @@ public: ACE_Token_Proxy_Queue (void); // Construction. + ~ACE_Token_Proxy_Queue (void); + // Destructor + void enqueue (ACE_TPQ_Entry* new_entry, int position); // Enqueue a proxy, nesting level, client_id, and a magic cookie at @@ -321,6 +330,9 @@ public: ACE_Tokens (void); // Null constructor. + ~ACE_Tokens (void); + // Destructor + virtual int acquire (ACE_TPQ_Entry *caller, int ignore_deadlock, int notify) = 0; @@ -819,9 +831,12 @@ class ACE_Export ACE_Null_Token : public ACE_Token_Proxy // = TITLE // No op class for nonthreaded platform protocols. public: - ACE_Null_Token (void) {}; + ACE_Null_Token (void); // Construction. + ~ACE_Null_Token (void); + // Destructor + virtual int acquire (int /* notify */ = 0, void (* /* sleep_hook */ )(void *) = 0, ACE_Synch_Options & /* options */ = @@ -882,6 +897,9 @@ public: // <ignore_deadlock> will allow deadlock to occur (useful for // testing). <debug> prints a bunch of messages. + ~ACE_Local_Mutex (void); + // Destructor + void dump (void) const; // Dump the state of the class. @@ -929,6 +947,9 @@ public: // <ignore_deadlock> will allow deadlock to occur (useful for // testing). <debug> prints a bunch of messages. + ~ACE_Local_RLock (void); + // Destructor + void dump (void) const; // Dump the state of the class. @@ -979,6 +1000,9 @@ public: // <ignore_deadlock> will allow deadlock to occur (useful for // testing). <debug> prints a bunch of messages. + ~ACE_Local_WLock (void); + // Destructor + void dump (void) const; // Dump the state of the class. diff --git a/ace/Local_Tokens.i b/ace/Local_Tokens.i index 263d83b5a3e..2af8cf5fc45 100644 --- a/ace/Local_Tokens.i +++ b/ace/Local_Tokens.i @@ -89,6 +89,26 @@ ACE_TPQ_Entry::proxy (ACE_Token_Proxy *proxy) this->proxy_ = proxy; } +ACE_INLINE +ACE_TSS_TPQ_Entry::~ACE_TSS_TPQ_Entry (void) +{ +} + +ACE_INLINE +ACE_TPQ_Iterator::~ACE_TPQ_Iterator (void) +{ +} + +ACE_INLINE +ACE_Token_Proxy_Queue::~ACE_Token_Proxy_Queue (void) +{ +} + +ACE_INLINE +ACE_Tokens::~ACE_Tokens (void) +{ +} + ACE_INLINE void ACE_Tokens::remove (ACE_TPQ_Entry *caller) { @@ -313,6 +333,21 @@ ACE_Local_Mutex::create_token (const ASYS_TCHAR *name) return new ACE_Mutex_Token (name); } +ACE_INLINE +ACE_Null_Token::ACE_Null_Token (void) +{ +} + +ACE_INLINE +ACE_Null_Token::~ACE_Null_Token (void) +{ +} + +ACE_INLINE +ACE_Local_Mutex::~ACE_Local_Mutex (void) +{ +} + // ************************************************************ ACE_INLINE @@ -324,6 +359,11 @@ ACE_Local_RLock::ACE_Local_RLock (const ASYS_TCHAR *token_name, this->open (token_name, ignore_deadlock, debug); } +ACE_INLINE +ACE_Local_RLock::~ACE_Local_RLock (void) +{ +} + ACE_INLINE ACE_Tokens * ACE_Local_RLock::create_token (const ASYS_TCHAR *name) { @@ -355,6 +395,11 @@ ACE_Local_WLock::ACE_Local_WLock (const ASYS_TCHAR *token_name, this->open (token_name, ignore_deadlock, debug); } +ACE_INLINE +ACE_Local_WLock::~ACE_Local_WLock (void) +{ +} + ACE_INLINE ACE_Tokens * ACE_Local_WLock::create_token (const ASYS_TCHAR *name) { diff --git a/ace/Log_Record.h b/ace/Log_Record.h index 7974361d4cf..425bf57082c 100644 --- a/ace/Log_Record.h +++ b/ace/Log_Record.h @@ -55,6 +55,9 @@ public: // Create a <Log_Record> and set its priority, time stamp, and // process id. + ~ACE_Log_Record (void); + // Default dtor. + #if !defined (ACE_HAS_WINCE) // @@ Sould this be ACE_LACKS_IOSTREAM_TOTALLY? int print (const ASYS_TCHAR host_name[], u_long verbose_flag, diff --git a/ace/Log_Record.i b/ace/Log_Record.i index 64a82d2ffcf..01730620d43 100644 --- a/ace/Log_Record.i +++ b/ace/Log_Record.i @@ -3,6 +3,11 @@ // Log_Record.i +ASYS_INLINE +ACE_Log_Record::~ACE_Log_Record (void) +{ +} + ASYS_INLINE void ACE_Log_Record::encode (void) { diff --git a/ace/Malloc.h b/ace/Malloc.h index 2ae78bcce75..1eb0aceb485 100644 --- a/ace/Malloc.h +++ b/ace/Malloc.h @@ -205,6 +205,7 @@ public: // = Initialization methods. ACE_Name_Node (const char *name, void *, ACE_Name_Node *); ACE_Name_Node (void); + ~ACE_Name_Node (void); char *name_; // Name of the Node. diff --git a/ace/Malloc.i b/ace/Malloc.i index d087794d520..a257f7bc28b 100644 --- a/ace/Malloc.i +++ b/ace/Malloc.i @@ -1,6 +1,11 @@ /* -*- C++ -*- */ // $Id$ +ACE_INLINE +ACE_Name_Node::~ACE_Name_Node (void) +{ +} + ACE_INLINE void * ACE_New_Allocator::malloc (size_t nbytes) { @@ -5633,9 +5633,14 @@ private: # if defined (ASYS_INLINE) # undef ASYS_INLINE # endif /* ASYS_INLINE */ -# define ASYS_INLINE +# define ASYS_INLINE +# if defined (ACE_HAS_INLINED_OSCALLS) +# undef ACE_HAS_INLINED_OSCALLS +# endif /* ACE_HAS_INLINED_OSCALLS */ #else # define ASYS_INLINE inline +#endif /* ACE_LACKS_INLINE_FUNCTIONS */ + # if defined (ACE_HAS_INLINED_OSCALLS) # if defined (ACE_INLINE) # undef ACE_INLINE @@ -5643,7 +5648,6 @@ private: # define ACE_INLINE inline # include "ace/OS.i" # endif /* ACE_HAS_INLINED_OSCALLS */ -#endif /* ACE_LACKS_INLINE_FUNCTIONS */ #if defined (ACE_HAS_GNUC_BROKEN_TEMPLATE_INLINE_FUNCTIONS) # define ACE_INLINE_FOR_GNUC ACE_INLINE @@ -1160,9 +1160,13 @@ ACE_OS::strchr (char *s, int c) // ACE_TRACE ("ACE_OS::strchr"); return ::strchr (s, c); #else - ACE_UNUSED_ARG (s); - ACE_UNUSED_ARG (c); - ACE_NOTSUP_RETURN (0); + for (;;++s) + { + if (*s == c) + return s; + if (*s == 0) + return 0; + } #endif /* ACE_HAS_WINCE */ } @@ -1173,9 +1177,13 @@ ACE_OS::strchr (const char *s, int c) // ACE_TRACE ("ACE_OS::strchr"); return (const char *) ::strchr (s, c); #else - ACE_UNUSED_ARG (s); - ACE_UNUSED_ARG (c); - ACE_NOTSUP_RETURN (0); + for (;;++s) + { + if (*s == c) + return s; + if (*s == 0) + return 0; + } #endif /* ACE_HAS_WINCE */ } @@ -5147,9 +5155,12 @@ ACE_OS::thr_getspecific (ACE_thread_key_t key, void **data) int error = errno; *data = ::TlsGetValue (key); +#if !defined (ACE_HAS_WINCE) if (*data == 0 && (errno = ::GetLastError ()) != NO_ERROR) + return -1; else +#endif /* ACE_HAS_WINCE */ { errno = error; return 0; diff --git a/ace/Obstack.cpp b/ace/Obstack.cpp index 9356488561d..574ac97959a 100644 --- a/ace/Obstack.cpp +++ b/ace/Obstack.cpp @@ -3,6 +3,10 @@ #define ACE_BUILD_DLL #include "ace/Obstack.h" +#if !defined (__ACE_INLINE__) +#include "ace/Obstack.i" +#endif /* __ACE_INLINE__ */ + ACE_ALLOC_HOOK_DEFINE(ACE_Obstack) void diff --git a/ace/Obstack.h b/ace/Obstack.h index a4d253ca3f7..5e6fb3748b2 100644 --- a/ace/Obstack.h +++ b/ace/Obstack.h @@ -29,6 +29,9 @@ public: ACE_Obchunk (size_t size); // Constructor. + ~ACE_Obchunk (void); + // dtor. + void dump (void) const; // Dump the state of an object. @@ -96,4 +99,8 @@ protected: // Pointer to the current Obchunk. }; +#if defined (__ACE_INLINE__) +#include "ace/Obstack.i" +#endif /* __ACE_INLINE__ */ + #endif /* ACE_OBSTACK_H */ diff --git a/ace/Obstack.i b/ace/Obstack.i index 893b926ad3a..7a47c3da4cc 100644 --- a/ace/Obstack.i +++ b/ace/Obstack.i @@ -2,3 +2,8 @@ // $Id$ // Obstack.i + +ACE_INLINE +ACE_Obchunk::~ACE_Obchunk (void) +{ +} diff --git a/ace/Parse_Node.h b/ace/Parse_Node.h index cd1cf422240..5fe0781c195 100644 --- a/ace/Parse_Node.h +++ b/ace/Parse_Node.h @@ -53,6 +53,7 @@ class ACE_Export ACE_Suspend_Node : public ACE_Parse_Node // Suspend a Service Node. public: ACE_Suspend_Node (const char *name); + ~ACE_Suspend_Node (void); virtual void apply (void); @@ -69,6 +70,7 @@ class ACE_Export ACE_Resume_Node : public ACE_Parse_Node // Resume a Service Node. public: ACE_Resume_Node (const char *name); + ~ACE_Resume_Node (void); virtual void apply (void); @@ -85,7 +87,8 @@ class ACE_Export ACE_Remove_Node : public ACE_Parse_Node // Remove a Service Node. public: ACE_Remove_Node (const char *name); - + ~ACE_Remove_Node (void); + virtual void apply (void); void dump (void) const; diff --git a/ace/Parse_Node.i b/ace/Parse_Node.i index 84c7266d734..0728118ea80 100644 --- a/ace/Parse_Node.i +++ b/ace/Parse_Node.i @@ -3,4 +3,17 @@ // Parse_Node.i +ACE_INLINE +ACE_Suspend_Node::~ACE_Suspend_Node (void) +{ +} +ACE_INLINE +ACE_Resume_Node::~ACE_Resume_Node (void) +{ +} + +ACE_INLINE +ACE_Remove_Node::~ACE_Remove_Node (void) +{ +} diff --git a/ace/Pipe.h b/ace/Pipe.h index 664d1a7253d..51a07d5bc99 100644 --- a/ace/Pipe.h +++ b/ace/Pipe.h @@ -40,6 +40,9 @@ public: ACE_Pipe (ACE_HANDLE read, ACE_HANDLE write); // Initialize the <ACE_Pipe> from the <read> and <write> handles. + ~ACE_Pipe (void); + // Default dtor. It doesn't close the handles for you. + int open (ACE_HANDLE handles[2]); // Open the pipe and initialize the handles. diff --git a/ace/Pipe.i b/ace/Pipe.i index 41d07f79926..0eb87370827 100644 --- a/ace/Pipe.i +++ b/ace/Pipe.i @@ -3,6 +3,13 @@ // Pipe.i +ASYS_INLINE +ACE_Pipe::~ACE_Pipe (void) +{ + ACE_TRACE ("ACE_Pipe::~ACE_Pipe"); + // Notice that the destructor doesn't close the handles for you. +} + ASYS_INLINE ACE_HANDLE ACE_Pipe::read_handle (void) const { diff --git a/ace/Process_Manager.h b/ace/Process_Manager.h index d4d8c3f48db..6449df5f376 100644 --- a/ace/Process_Manager.h +++ b/ace/Process_Manager.h @@ -28,6 +28,8 @@ private: friend class ACE_Process_Manager; ACE_Process_Descriptor (void); + ~ACE_Process_Descriptor (void); + // Default ctor/dtor. pid_t proc_id_; // Unique process ID. diff --git a/ace/Process_Manager.i b/ace/Process_Manager.i index 1be8c04c67d..35c192b71ef 100644 --- a/ace/Process_Manager.i +++ b/ace/Process_Manager.i @@ -2,3 +2,8 @@ // $Id$ // Process_Manager.i + +ACE_INLINE +ACE_Process_Descriptor::~ACE_Process_Descriptor (void) +{ +} diff --git a/ace/SOCK.h b/ace/SOCK.h index fc4aba6d552..8401326be13 100644 --- a/ace/SOCK.h +++ b/ace/SOCK.h @@ -34,6 +34,9 @@ class ACE_Export ACE_SOCK : public ACE_IPC_SAP // set socket options, get the local and remote addresses, and // close the socket. public: + ~ACE_SOCK (void); + // Default ctor/dtor. + int set_option (int level, int option, void *optval, diff --git a/ace/SOCK.i b/ace/SOCK.i index fb8d9211ecb..74304ad4cb8 100644 --- a/ace/SOCK.i +++ b/ace/SOCK.i @@ -3,6 +3,12 @@ // SOCK.i +ASYS_INLINE +ACE_SOCK::~ACE_SOCK (void) +{ + ACE_TRACE ("ACE_SOCK::~ACE_SOCK"); +} + ASYS_INLINE int ACE_SOCK::set_option (int level, int option, diff --git a/ace/SOCK_Acceptor.cpp b/ace/SOCK_Acceptor.cpp index 677f5f9c255..b2e0f097117 100644 --- a/ace/SOCK_Acceptor.cpp +++ b/ace/SOCK_Acceptor.cpp @@ -4,9 +4,9 @@ #define ACE_BUILD_DLL #include "ace/SOCK_Acceptor.h" -#if !defined (__ACE_INLINE__) +#if defined (ACE_LACKS_INLINE_FUNCTIONS) #include "ace/SOCK_Acceptor.i" -#endif /* __ACE_INLINE__ */ +#endif /* ACE_LACKS_INLINE_FUNCTIONS */ #include "ace/Synch.h" diff --git a/ace/SOCK_Acceptor.h b/ace/SOCK_Acceptor.h index d5253ab109b..7be8f0979bf 100644 --- a/ace/SOCK_Acceptor.h +++ b/ace/SOCK_Acceptor.h @@ -37,6 +37,9 @@ public: int protocol = 0); // Initiate a passive mode socket. + ~ACE_SOCK_Acceptor (void); + // Default dtor. + int open (const ACE_Addr &local_sap, int reuse_addr = 0, int protocol_family = PF_INET, @@ -76,8 +79,8 @@ private: // Do not allow this function to percolate up to this interface... }; -#if defined (__ACE_INLINE__) +#if !defined (ACE_LACKS_INLINE_FUNCTIONS) #include "ace/SOCK_Acceptor.i" -#endif /* __ACE_INLINE__ */ +#endif /* ACE_LACKS_INLINE_FUNCTIONS */ #endif /* ACE_SOCK_ACCEPTOR_H */ diff --git a/ace/SOCK_Acceptor.i b/ace/SOCK_Acceptor.i index 03d9f211645..0ba44700809 100644 --- a/ace/SOCK_Acceptor.i +++ b/ace/SOCK_Acceptor.i @@ -3,5 +3,10 @@ // SOCK_Acceptor.i +ASYS_INLINE +ACE_SOCK_Acceptor::~ACE_SOCK_Acceptor (void) +{ + ACE_TRACE ("ACE_SOCK_Acceptor::~ACE_SOCK_Acceptor"); +} diff --git a/ace/SOCK_CODgram.h b/ace/SOCK_CODgram.h index 2b2de5aae6a..757c5a88f53 100644 --- a/ace/SOCK_CODgram.h +++ b/ace/SOCK_CODgram.h @@ -36,6 +36,10 @@ public: int protocol_family = PF_INET, int protocol = 0, int reuse_addr = 0); + + ~ACE_SOCK_CODgram (void); + // Default dtor. + // Initiate a connected dgram. int open (const ACE_Addr &remote_sap, diff --git a/ace/SOCK_CODgram.i b/ace/SOCK_CODgram.i index 1476db0366c..7dd5b40a1d6 100644 --- a/ace/SOCK_CODgram.i +++ b/ace/SOCK_CODgram.i @@ -9,4 +9,10 @@ ACE_SOCK_CODgram::ACE_SOCK_CODgram (void) ACE_TRACE ("ACE_SOCK_CODgram::ACE_SOCK_CODgram"); } +ASYS_INLINE +ACE_SOCK_CODgram::~ACE_SOCK_CODgram (void) +{ + ACE_TRACE ("ACE_SOCK_CODgram::~ACE_SOCK_CODgram"); +} + diff --git a/ace/SOCK_Connector.h b/ace/SOCK_Connector.h index 70aaef7ac65..ad0d7a3c8ef 100644 --- a/ace/SOCK_Connector.h +++ b/ace/SOCK_Connector.h @@ -56,6 +56,9 @@ public: // the OS do the binding. If <reuse_addr> == 1 then the // <local_addr> is reused, even if it hasn't been cleanedup yet. + ~ACE_SOCK_Connector (void); + // Default dtor. + int connect (ACE_SOCK_Stream &new_stream, const ACE_Addr &remote_sap, ACE_Time_Value *timeout = 0, diff --git a/ace/SOCK_Connector.i b/ace/SOCK_Connector.i index 26627977c5e..ebce17c7f53 100644 --- a/ace/SOCK_Connector.i +++ b/ace/SOCK_Connector.i @@ -7,6 +7,12 @@ // the specified REMOTE_SAP address using a blocking open. ASYS_INLINE +ACE_SOCK_Connector::~ACE_SOCK_Connector (void) +{ + ACE_TRACE ("ACE_SOCK_Connector::~ACE_SOCK_Connector"); +} + +ASYS_INLINE ACE_SOCK_Connector::ACE_SOCK_Connector (ACE_SOCK_Stream &new_stream, const ACE_Addr &remote_sap, ACE_Time_Value *timeout, diff --git a/ace/SOCK_Dgram.h b/ace/SOCK_Dgram.h index d9447796b16..4b4313c11bc 100644 --- a/ace/SOCK_Dgram.h +++ b/ace/SOCK_Dgram.h @@ -36,6 +36,9 @@ public: int reuse_addr = 0); // Initiate a socket dgram. + ~ACE_SOCK_Dgram (void); + // Default dtor. + int open (const ACE_Addr &local, int protocol_family = PF_INET, int protocol = 0, diff --git a/ace/SOCK_Dgram.i b/ace/SOCK_Dgram.i index 3dcf3752396..efcb0b09974 100644 --- a/ace/SOCK_Dgram.i +++ b/ace/SOCK_Dgram.i @@ -11,6 +11,12 @@ ACE_SOCK_Dgram::ACE_SOCK_Dgram (void) ACE_TRACE ("ACE_SOCK_Dgram::ACE_SOCK_Dgram"); } +ASYS_INLINE +ACE_SOCK_Dgram::~ACE_SOCK_Dgram (void) +{ + ACE_TRACE ("ACE_SOCK_Dgram::~ACE_SOCK_Dgram"); +} + // <sendto> an N byte datagram to <addr> (connectionless version). ASYS_INLINE ssize_t diff --git a/ace/SOCK_Dgram_Bcast.h b/ace/SOCK_Dgram_Bcast.h index 680861860b0..64e134b21c9 100644 --- a/ace/SOCK_Dgram_Bcast.h +++ b/ace/SOCK_Dgram_Bcast.h @@ -23,6 +23,8 @@ class ACE_Export ACE_Bcast_Node { public: ACE_Bcast_Node (ACE_INET_Addr &, ACE_Bcast_Node *); + ~ACE_Bcast_Node (void); + // Default dtor. ACE_INET_Addr bcast_addr_; // Broadcast address for the interface. @@ -46,6 +48,10 @@ public: int protocol = 0, int reuse_addr = 0, const ASYS_TCHAR *host_name = 0); + + ~ACE_SOCK_Dgram_Bcast (void); + // Default dtor. + // Initiate a connectionless datagram broadcast endpoint. int open (const ACE_Addr &local, diff --git a/ace/SOCK_Dgram_Bcast.i b/ace/SOCK_Dgram_Bcast.i index fd85e1d84e8..9304ba1d933 100644 --- a/ace/SOCK_Dgram_Bcast.i +++ b/ace/SOCK_Dgram_Bcast.i @@ -3,6 +3,17 @@ // SOCK_Dgram_Bcast.i +ASYS_INLINE +ACE_Bcast_Node::~ACE_Bcast_Node (void) +{ +} + +ASYS_INLINE +ACE_SOCK_Dgram_Bcast::~ACE_SOCK_Dgram_Bcast (void) +{ + ACE_TRACE ("ACE_SOCK_Dgram_Bcast::~ACE_SOCK_Dgram_Bcast"); +} + // Broadcast an N byte datagram to ADDR (note that addr must be // preassigned to the broadcast address of the subnet...) diff --git a/ace/SOCK_Dgram_Mcast.h b/ace/SOCK_Dgram_Mcast.h index b42dc55c42c..4e2f8165142 100644 --- a/ace/SOCK_Dgram_Mcast.h +++ b/ace/SOCK_Dgram_Mcast.h @@ -34,6 +34,9 @@ public: // not listen) to the multicast group, use ACE_SOCK_Dgram or // ACE_SOCK_CODgram. + ~ACE_SOCK_Dgram_Mcast (void); + // Default dtor. + // = Multicast group management routines. int subscribe (const ACE_INET_Addr &mcast_addr, diff --git a/ace/SOCK_Dgram_Mcast.i b/ace/SOCK_Dgram_Mcast.i index 78a83bafbcb..196171208b8 100644 --- a/ace/SOCK_Dgram_Mcast.i +++ b/ace/SOCK_Dgram_Mcast.i @@ -3,6 +3,11 @@ // SOCK_Dgram_Mcast.i +ASYS_INLINE +ACE_SOCK_Dgram_Mcast::~ACE_SOCK_Dgram_Mcast (void) +{ +} + ASYS_INLINE int ACE_SOCK_Dgram_Mcast::set_option (int option, char optval) diff --git a/ace/SOCK_IO.h b/ace/SOCK_IO.h index d6cb964050e..92e1376c7cf 100644 --- a/ace/SOCK_IO.h +++ b/ace/SOCK_IO.h @@ -26,6 +26,10 @@ class ACE_Export ACE_SOCK_IO : public ACE_SOCK // Defines the methods for the ACE socket wrapper I/O routines // (e.g., send/recv). public: + ACE_SOCK_IO (void); + ~ACE_SOCK_IO (void); + // Default ctor/dtor. + ssize_t send (const void *buf, size_t n, int flags) const; diff --git a/ace/SOCK_IO.i b/ace/SOCK_IO.i index 555e6cbcef6..b36698dc257 100644 --- a/ace/SOCK_IO.i +++ b/ace/SOCK_IO.i @@ -5,6 +5,18 @@ // Send an n byte message to the connected socket. +ASYS_INLINE +ACE_SOCK_IO::ACE_SOCK_IO (void) +{ + ACE_TRACE ("ACE_SOCK_IO::ACE_SOCK_IO"); +} + +ASYS_INLINE +ACE_SOCK_IO::~ACE_SOCK_IO (void) +{ + ACE_TRACE ("ACE_SOCK_IO::~ACE_SOCK_IO"); +} + ASYS_INLINE ssize_t ACE_SOCK_IO::send (const void *buf, size_t n, int flags) const { diff --git a/ace/SOCK_Stream.h b/ace/SOCK_Stream.h index 705078d55d4..d07d332c93f 100644 --- a/ace/SOCK_Stream.h +++ b/ace/SOCK_Stream.h @@ -30,6 +30,10 @@ class ACE_Export ACE_SOCK_Stream : public ACE_SOCK_IO // This adds additional wrapper methods atop the <ACE_SOCK_IO> // class. public: + ACE_SOCK_Stream (void); + ~ACE_SOCK_Stream (void); + // Default ctor/dtor. + //= The following two methods use write and read system calls. ssize_t send_n (const void *buf, int n) const; // Send n bytes, keep trying until n are sent. diff --git a/ace/SOCK_Stream.i b/ace/SOCK_Stream.i index b48ce0ef64f..3fc19e0d070 100644 --- a/ace/SOCK_Stream.i +++ b/ace/SOCK_Stream.i @@ -7,6 +7,18 @@ // Shut down just the reading end of a ACE_SOCK. +ASYS_INLINE +ACE_SOCK_Stream::ACE_SOCK_Stream (void) +{ + ACE_TRACE ("ACE_SOCK_Stream::ACE_SOCK_Stream"); +} + +ASYS_INLINE +ACE_SOCK_Stream::~ACE_SOCK_Stream (void) +{ + ACE_TRACE ("ACE_SOCK_Stream::~ACE_SOCK_Stream"); +} + ASYS_INLINE int ACE_SOCK_Stream::close_reader (void) { diff --git a/ace/SString.h b/ace/SString.h index 3b50ce5b89a..ea49879328d 100644 --- a/ace/SString.h +++ b/ace/SString.h @@ -208,6 +208,9 @@ public: ACE_SString (char c, ACE_Allocator *alloc = 0); // Constructor that copies <c> into dynamically allocated memory. + ~ACE_SString (void); + // Default dtor. + char operator[] (size_t index) const; // Return the <index'th> character in the string (doesn't perform // bounds checking). diff --git a/ace/SString.i b/ace/SString.i index b4cc402c73c..4625beaecbb 100644 --- a/ace/SString.i +++ b/ace/SString.i @@ -141,6 +141,11 @@ ACE_CString::hash (void) const return ACE::hash_pjw (this->rep_); } +ACE_INLINE +ACE_SString::~ACE_SString (void) +{ +} + ACE_INLINE ACE_SString ACE_SString::substr (size_t offset, ssize_t length) const diff --git a/ace/Sched_Params.h b/ace/Sched_Params.h index 22d0582353d..fcae97937f4 100644 --- a/ace/Sched_Params.h +++ b/ace/Sched_Params.h @@ -172,6 +172,9 @@ public: // Initialize the iterator, the arguments define the scheduling // policy and scope for the priorities (see ACE_Sched_Param). + ~ACE_Sched_Priority_Iterator (void); + // Default dtor. + int more (void) const; // Check if there are more priorities. diff --git a/ace/Sched_Params.i b/ace/Sched_Params.i index 201b933f5f9..a764423a954 100644 --- a/ace/Sched_Params.i +++ b/ace/Sched_Params.i @@ -106,6 +106,12 @@ ACE_Sched_Priority_Iterator::ACE_Sched_Priority_Iterator (const ACE_Sched_Params this->done_ = 0; } +ACE_INLINE +ACE_Sched_Priority_Iterator::~ACE_Sched_Priority_Iterator (void) +{ + ACE_TRACE ("ACE_Sched_Priority_Iterator::~ACE_Sched_Priority_Iterator"); +} + ACE_INLINE int ACE_Sched_Priority_Iterator::more (void) const { diff --git a/ace/Select_Reactor.h b/ace/Select_Reactor.h index 0e0fa642aa7..2674189978d 100644 --- a/ace/Select_Reactor.h +++ b/ace/Select_Reactor.h @@ -145,6 +145,7 @@ class ACE_Export ACE_Event_Tuple public: ACE_Event_Tuple (void); ACE_Event_Tuple (ACE_Event_Handler* eh, ACE_HANDLE h); + ~ACE_Event_Tuple (void); int operator== (const ACE_Event_Tuple &rhs) const; // Equality operator. @@ -175,6 +176,10 @@ class ACE_Export ACE_Select_Reactor_Notify : public ACE_Event_Handler // passed to <notify>, the appropriate <handle_*> method is // dispatched in the context of the <ACE_Select_Reactor> thread. public: + ACE_Select_Reactor_Notify (void); + ~ACE_Select_Reactor_Notify (void); + // Default dtor. + // = Initialization and termination methods. int open (ACE_Select_Reactor *, int disable_notify_pipe); int close (void); @@ -237,6 +242,9 @@ public: ACE_Select_Reactor_Handler_Repository (ACE_Select_Reactor &); // Default "do-nothing" constructor. + ~ACE_Select_Reactor_Handler_Repository (void); + // dtor. + int open (size_t size); // Initialize a repository of the appropriate <size>. @@ -323,6 +331,9 @@ public: // = Initialization method. ACE_Select_Reactor_Handler_Repository_Iterator (const ACE_Select_Reactor_Handler_Repository *s); + ~ACE_Select_Reactor_Handler_Repository_Iterator (void); + // dtor. + // = Iteration methods. int next (ACE_Event_Handler *&next_item); diff --git a/ace/Select_Reactor.i b/ace/Select_Reactor.i index 0c67b56c43b..15bc5769f86 100644 --- a/ace/Select_Reactor.i +++ b/ace/Select_Reactor.i @@ -1,7 +1,30 @@ /* -*- C++ -*- */ // $Id$ -#include "ace/Reactor.h" +ACE_INLINE +ACE_Event_Tuple::~ACE_Event_Tuple (void) +{ +} + +ACE_INLINE +ACE_Select_Reactor_Notify::ACE_Select_Reactor_Notify (void) +{ +} + +ACE_INLINE +ACE_Select_Reactor_Notify::~ACE_Select_Reactor_Notify (void) +{ +} + +ACE_INLINE +ACE_Select_Reactor_Handler_Repository::~ACE_Select_Reactor_Handler_Repository (void) +{ +} + +ACE_INLINE +ACE_Select_Reactor_Handler_Repository_Iterator::~ACE_Select_Reactor_Handler_Repository_Iterator (void) +{ +} ACE_INLINE int ACE_Select_Reactor::resume_handler (ACE_Event_Handler *h) diff --git a/ace/Service_Manager.h b/ace/Service_Manager.h index 51614221295..8f05c30aa67 100644 --- a/ace/Service_Manager.h +++ b/ace/Service_Manager.h @@ -30,6 +30,7 @@ class ACE_Export ACE_Service_Manager : public ACE_Service_Object // services in the Service Repository. public: ACE_Service_Manager (void); + ~ACE_Service_Manager (void); virtual int list_services (void); virtual int reconfigure_services (void); diff --git a/ace/Service_Manager.i b/ace/Service_Manager.i index e4bcf581ee0..a040265d05f 100644 --- a/ace/Service_Manager.i +++ b/ace/Service_Manager.i @@ -2,3 +2,9 @@ // $Id$ // Service_Manager.i + +ACE_INLINE +ACE_Service_Manager::~ACE_Service_Manager (void) +{ + ACE_TRACE ("ACE_Service_Manager::~ACE_Service_Manager"); +} diff --git a/ace/Service_Repository.h b/ace/Service_Repository.h index b732db5afdf..c620e0ddfe2 100644 --- a/ace/Service_Repository.h +++ b/ace/Service_Repository.h @@ -135,6 +135,9 @@ public: ACE_Service_Repository_Iterator (ACE_Service_Repository &sr, int ignored_suspended = 1); + ~ACE_Service_Repository_Iterator (void); + // dtor. + // = Iteration methods. int next (const ACE_Service_Type *&next_item); diff --git a/ace/Service_Repository.i b/ace/Service_Repository.i index d5b70714154..5ba6a04e0fe 100644 --- a/ace/Service_Repository.i +++ b/ace/Service_Repository.i @@ -25,3 +25,7 @@ ACE_Service_Repository::total_size (void) return this->total_size_; } +ACE_INLINE +ACE_Service_Repository_Iterator::~ACE_Service_Repository_Iterator (void) +{ +} diff --git a/ace/Service_Types.h b/ace/Service_Types.h index d6724062e63..efe8229b53c 100644 --- a/ace/Service_Types.h +++ b/ace/Service_Types.h @@ -90,6 +90,8 @@ public: u_int flags = 0, ACE_Service_Object_Exterminator gobbler = 0); + ~ACE_Service_Object_Type (void); + // = Implement the hooks for <ACE_Service_Objects>. virtual int suspend (void) const; virtual int resume (void) const; @@ -109,6 +111,8 @@ public: const ASYS_TCHAR *identifier, u_int flags = 0); + ~ACE_Module_Type (void); + // = Implement the hooks for <ACE_Modules>. virtual int suspend (void) const; virtual int resume (void) const; @@ -142,6 +146,8 @@ public: const ASYS_TCHAR *identifier, u_int flags = 0); + ~ACE_Stream_Type (void); + // = Implement the hooks for <ACE_Streams>. virtual int suspend (void) const; virtual int resume (void) const; diff --git a/ace/Service_Types.i b/ace/Service_Types.i index 0a63fca58c4..e84ed8341e5 100644 --- a/ace/Service_Types.i +++ b/ace/Service_Types.i @@ -27,6 +27,12 @@ ACE_Service_Type_Impl::name (const ASYS_TCHAR *n) ACE_OS::strcpy ((ASYS_TCHAR *) this->name_, n); } +ACE_INLINE +ACE_Service_Object_Type::~ACE_Service_Object_Type (void) +{ + ACE_TRACE ("ACE_Service_Object_Type::~ACE_Service_Object_Type"); +} + ACE_INLINE int ACE_Service_Object_Type::suspend (void) const { @@ -48,3 +54,16 @@ ACE_Service_Object_Type::info (ASYS_TCHAR **str, size_t len) const return ((ACE_Service_Object *) this->object ())->info (str, len); } +ACE_INLINE +ACE_Module_Type::~ACE_Module_Type (void) +{ + ACE_TRACE ("ACE_Module_Type::~ACE_Module_Type"); +} + +ACE_INLINE +ACE_Stream_Type::~ACE_Stream_Type (void) +{ + ACE_TRACE ("ACE_Stream_Type::~ACE_Stream_Type"); +} + + diff --git a/ace/Shared_Object.h b/ace/Shared_Object.h index 3803fcbd9ca..f6699779c9d 100644 --- a/ace/Shared_Object.h +++ b/ace/Shared_Object.h @@ -26,6 +26,8 @@ class ACE_Export ACE_Shared_Object // Provide the abstract base class used to access dynamic // linking facilities. public: + ACE_Shared_Object (void); + virtual int init (int argc, ASYS_TCHAR *argv[]); // Initializes object when dynamic linking occurs. diff --git a/ace/Shared_Object.i b/ace/Shared_Object.i index c6840a221cc..97ca0090c6d 100644 --- a/ace/Shared_Object.i +++ b/ace/Shared_Object.i @@ -2,3 +2,8 @@ // $Id$ // Shared_Object.i + +ACE_INLINE +ACE_Shared_Object::ACE_Shared_Object (void) +{ +} diff --git a/ace/Signal.h b/ace/Signal.h index f3704c8dca8..11ec0a6186b 100644 --- a/ace/Signal.h +++ b/ace/Signal.h @@ -103,6 +103,9 @@ public: ACE_Sig_Action (const ACE_Sig_Action &s); ACE_Sig_Action (struct sigaction *); + ~ACE_Sig_Action (void); + // Default dtor. + // = Signal action management. int register_action (int signum, ACE_Sig_Action *oaction = 0); // Register <this> as the current disposition and store old @@ -190,6 +193,10 @@ class ACE_Export ACE_Sig_Handler // <signum>, the <handle_signal> method of the registered // <ACE_Event_Handler> is invoked automatically. public: + ACE_Sig_Handler (void); + ~ACE_Sig_Handler (void); + // Default ctor/dtor. + // = Registration and removal methods. virtual int register_handler (int signum, ACE_Event_Handler *new_sh, @@ -263,6 +270,7 @@ public: ACE_Sig_Adapter (ACE_Sig_Action &, int sigkey); ACE_Sig_Adapter (ACE_Event_Handler *, int sigkey); ACE_Sig_Adapter (ACE_Sig_Handler_Ex, int sigkey = 0); + ~ACE_Sig_Adapter (void); int sigkey (void); // Returns this signal key that's used to remove this from the diff --git a/ace/Signal.i b/ace/Signal.i index 55ff8aeb4dc..5fe289d19bc 100644 --- a/ace/Signal.i +++ b/ace/Signal.i @@ -94,6 +94,12 @@ ACE_Sig_Set::sigset (void) return this->sigset_; } +ACE_INLINE +ACE_Sig_Action::~ACE_Sig_Action (void) +{ + ACE_TRACE ("ACE_Sig_Action::~ACE_Sig_Action"); +} + ACE_INLINE int ACE_Sig_Action::flags (void) { @@ -262,9 +268,24 @@ ACE_Sig_Guard::~ACE_Sig_Guard (void) #endif /* ACE_LACKS_PTHREAD_THR_SIGSETMASK */ } +ACE_INLINE +ACE_Sig_Handler::ACE_Sig_Handler (void) +{ +} + +ACE_INLINE +ACE_Sig_Handler::~ACE_Sig_Handler (void) +{ +} + ACE_INLINE int ACE_Sig_Handler::in_range (int signum) { ACE_TRACE ("ACE_Sig_Handler::in_range"); return signum > 0 && signum < ACE_NSIG; } + +ACE_INLINE +ACE_Sig_Adapter::~ACE_Sig_Adapter (void) +{ +} diff --git a/ace/Strategies.cpp b/ace/Strategies.cpp index 76e79064118..72e7654cef5 100644 --- a/ace/Strategies.cpp +++ b/ace/Strategies.cpp @@ -8,6 +8,10 @@ #include "ace/Reactor.h" #include "ace/Strategies.h" +#if !defined (__ACE_INLINE__) +#include "ace/Strategies.i" +#endif /* __ACE_INLINE __ */ + ACE_Notification_Strategy::ACE_Notification_Strategy (ACE_Event_Handler *eh, ACE_Reactor_Mask mask) : eh_ (eh), diff --git a/ace/Strategies.h b/ace/Strategies.h index be64ce20e9e..ec95bf7e2e5 100644 --- a/ace/Strategies.h +++ b/ace/Strategies.h @@ -66,6 +66,9 @@ public: ACE_Event_Handler *eh, ACE_Reactor_Mask mask); + ~ACE_Reactor_Notification_Strategy (void); + // Default dtor. + virtual int notify (void); virtual int notify (ACE_Event_Handler *, @@ -92,9 +95,17 @@ public: virtual int cache (const void *recycling_act) = 0; // Add to cache. + +protected: + ACE_Connection_Recycling_Strategy (void); + // Default ctor. }; // This needs to come here to avoid circular dependencies. #include "ace/Strategies_T.h" +#if defined (__ACE_INLINE__) +#include "ace/Strategies.i" +#endif /* __ACE_INLINE __ */ + #endif /* ACE_STRATEGIES_H */ diff --git a/ace/Strategies.i b/ace/Strategies.i index a8f84ba003e..bcc6318f9da 100644 --- a/ace/Strategies.i +++ b/ace/Strategies.i @@ -2,3 +2,13 @@ // $Id$ // Strategies.i + +ACE_INLINE +ACE_Reactor_Notification_Strategy::~ACE_Reactor_Notification_Strategy (void) +{ +} + +ACE_INLINE +ACE_Connection_Recycling_Strategy::ACE_Connection_Recycling_Strategy (void) +{ +} diff --git a/ace/Strategies_T.cpp b/ace/Strategies_T.cpp index e377ef6e581..89c0f05aabf 100644 --- a/ace/Strategies_T.cpp +++ b/ace/Strategies_T.cpp @@ -12,6 +12,10 @@ #include "ace/Thread_Manager.h" #include "ace/WFMO_Reactor.h" +#if defined (ACE_LACKS_INLINE_FUNCTIONS) +#include "ace/Strategies_T.i" +#endif /* ACE_LACKS_INLINE_FUNCTIONS */ + ACE_ALLOC_HOOK_DEFINE(ACE_Singleton_Strategy) template<class SVC_HANDLER> diff --git a/ace/Strategies_T.h b/ace/Strategies_T.h index 20eda65663a..f6d09147836 100644 --- a/ace/Strategies_T.h +++ b/ace/Strategies_T.h @@ -583,6 +583,9 @@ public: ACE_Hash_Addr (const ADDR_T &a, int recyclable); // Pre-compute hash value. + ~ACE_Hash_Addr (void); + // Default destructor. + u_long hash (void) const; // Computes and returns hash value. This "caches" the hash value to // improve performance. @@ -798,6 +801,10 @@ public: // Dump the state of the object. }; +#if !defined (ACE_LACKS_INLINE_FUNCTIONS) +#include "ace/Strategies_T.i" +#endif /* ACE_LACKS_INLINE_FUNCTIONS */ + #if defined (ACE_TEMPLATES_REQUIRE_SOURCE) #include "ace/Strategies_T.cpp" #endif /* ACE_TEMPLATES_REQUIRE_SOURCE */ diff --git a/ace/Synch.cpp b/ace/Synch.cpp index 0732dc4f9f4..9368121b01c 100644 --- a/ace/Synch.cpp +++ b/ace/Synch.cpp @@ -489,11 +489,6 @@ ACE_Recursive_Thread_Mutex::ACE_Recursive_Thread_Mutex (const ACE_Recursive_Thre { } -ACE_Recursive_Thread_Mutex::~ACE_Recursive_Thread_Mutex (void) -{ - // ACE_TRACE ("ACE_Recursive_Thread_Mutex::~ACE_Recursive_Thread_Mutex"); -} - int ACE_Recursive_Thread_Mutex::acquire (void) { diff --git a/ace/Synch.h b/ace/Synch.h index e82d6834952..3d262fdf62d 100644 --- a/ace/Synch.h +++ b/ace/Synch.h @@ -611,6 +611,9 @@ public: void * = 0); // Initialize the barrier to synchronize <count> threads. + ~ACE_Null_Barrier (void); + // Default dtor. + int wait (void); // Block the caller until all <count> threads have called <wait> and // then allow all the caller threads to continue in parallel. @@ -727,6 +730,9 @@ public: ACE_TSS_Adapter (void *object, ACE_THR_DEST f); // Initialize the adapter. + ~ACE_TSS_Adapter (void); + // Default dtor. + void cleanup (void); // Perform the cleanup operation. @@ -835,6 +841,9 @@ public: void *arg = 0); // constructor which will create manual event + ~ACE_Manual_Event (void); + // Default dtor. + void dump (void) const; // Dump the state of an object. @@ -857,6 +866,9 @@ public: void *arg = 0); // constructor which will create auto event + ~ACE_Auto_Event (void); + // Default dtor. + void dump (void) const; // Dump the state of an object. @@ -1100,10 +1112,10 @@ public: void *arg = 0); // Initialize a recursive mutex. -#if !defined (ACE_WIN32) ~ACE_Recursive_Thread_Mutex (void); // Implicitly release a recursive mutex. +#if !defined (ACE_WIN32) int remove (void); // Implicitly release a recursive mutex. @@ -1197,6 +1209,9 @@ public: ACE_RW_Thread_Mutex (LPCTSTR name = 0, void *arg = 0); + ~ACE_RW_Thread_Mutex (void); + // Default dtor. + int tryacquire_write_upgrade (void); // Conditionally upgrade a read lock to a write lock. This only // works if there are no other readers present, in which case the @@ -1225,6 +1240,9 @@ public: // Initialize the semaphore, with an initial value of <count> and a // maximum value of <max>. + ~ACE_Thread_Semaphore (void); + // Default dtor. + void dump (void) const; // Dump the state of an object. @@ -1240,6 +1258,8 @@ struct ACE_Export ACE_Sub_Barrier LPCTSTR name = 0, void *arg = 0); + ~ACE_Sub_Barrier (void); + ACE_Condition_Thread_Mutex barrier_finished_; // True if this generation of the barrier is done. @@ -1273,6 +1293,9 @@ public: void *arg = 0); // Initialize the barrier to synchronize <count> threads. + ~ACE_Barrier (void); + // Default dtor. + int wait (void); // Block the caller until all <count> threads have called <wait> and // then allow all the caller threads to continue in parallel. @@ -1363,6 +1386,9 @@ public: ACE_Thread_Barrier (u_int count, LPCTSTR name = 0); // Create a Thread_Barrier, passing in the optional <name>. + ~ACE_Thread_Barrier (void); + // Default dtor. + void dump (void) const; // Dump the state of an object. diff --git a/ace/Synch.i b/ace/Synch.i index 722fd92044e..bda69995249 100644 --- a/ace/Synch.i +++ b/ace/Synch.i @@ -525,6 +525,12 @@ ACE_Condition_Thread_Mutex::mutex (void) return this->mutex_; } +ACE_INLINE +ACE_Recursive_Thread_Mutex::~ACE_Recursive_Thread_Mutex (void) +{ + // ACE_TRACE ("ACE_Recursive_Thread_Mutex::~ACE_Recursive_Thread_Mutex"); +} + #if !defined (ACE_WIN32) ACE_INLINE int ACE_Recursive_Thread_Mutex::remove (void) @@ -720,6 +726,11 @@ ACE_Null_Barrier::ACE_Null_Barrier (u_int, { } +ACE_INLINE +ACE_Null_Barrier::~ACE_Null_Barrier (void) +{ +} + ACE_INLINE int ACE_Null_Barrier::wait (void) { @@ -856,26 +867,71 @@ ACE_Null_Mutex_Guard::remove (void) return 0; } -ACE_INLINE int ACE_Null_Mutex_Guard::locked (void) +ACE_INLINE int +ACE_Null_Mutex_Guard::locked (void) { return 1; } -ACE_INLINE int ACE_Null_Mutex_Guard::acquire (void) +ACE_INLINE int +ACE_Null_Mutex_Guard::acquire (void) { return 0; } -ACE_INLINE int ACE_Null_Mutex_Guard::tryacquire (void) +ACE_INLINE int +ACE_Null_Mutex_Guard::tryacquire (void) { return 0; } -ACE_INLINE int ACE_Null_Mutex_Guard::release (void) +ACE_INLINE int +ACE_Null_Mutex_Guard::release (void) { return 0; } -ACE_INLINE void ACE_Null_Mutex_Guard::dump (void) const +ACE_INLINE void +ACE_Null_Mutex_Guard::dump (void) const +{ +} + +ACE_INLINE +ACE_TSS_Adapter::~ACE_TSS_Adapter (void) +{ +} + +ACE_INLINE +ACE_Manual_Event::~ACE_Manual_Event (void) +{ +} + +ACE_INLINE +ACE_Auto_Event::~ACE_Auto_Event (void) +{ +} + +ACE_INLINE +ACE_RW_Thread_Mutex::~ACE_RW_Thread_Mutex (void) +{ +} + +ACE_INLINE +ACE_Thread_Semaphore::~ACE_Thread_Semaphore (void) +{ +} + +ACE_INLINE +ACE_Sub_Barrier::~ACE_Sub_Barrier (void) +{ +} + +ACE_INLINE +ACE_Barrier::~ACE_Barrier (void) +{ +} + +ACE_INLINE +ACE_Thread_Barrier::~ACE_Thread_Barrier (void) { } diff --git a/ace/Synch_Options.cpp b/ace/Synch_Options.cpp index 73b27a6f76a..c1567bb85f4 100644 --- a/ace/Synch_Options.cpp +++ b/ace/Synch_Options.cpp @@ -4,6 +4,10 @@ #define ACE_BUILD_DLL #include "ace/Synch_Options.h" +#if !defined (__ACE_INLINE__) +#include "ace/Synch_Options.i" +#endif /* __ACE_INLINE__ */ + ACE_ALLOC_HOOK_DEFINE(ACE_Synch_Options) void diff --git a/ace/Synch_Options.h b/ace/Synch_Options.h index d9492f55768..cd65556921e 100644 --- a/ace/Synch_Options.h +++ b/ace/Synch_Options.h @@ -70,6 +70,9 @@ public: const void *arg = 0); // Initialize the Synch_Options based on parameters. + ~ACE_Synch_Options (void); + // Default dtor. + void set (u_long options = 0, const ACE_Time_Value &timeout = ACE_Time_Value::zero, const void *arg = 0); @@ -131,4 +134,8 @@ private: // asynchronous programming. }; +#if defined (__ACE_INLINE__) +#include "ace/Synch_Options.i" +#endif /* __ACE_INLINE__ */ + #endif /* ACE_SYNCH_OPTIONS_H */ diff --git a/ace/Synch_Options.i b/ace/Synch_Options.i index 0a31ce8c554..3c16b199ac8 100644 --- a/ace/Synch_Options.i +++ b/ace/Synch_Options.i @@ -2,3 +2,8 @@ // $Id$ // Synch_Options.i + +ACE_INLINE +ACE_Synch_Options::~ACE_Synch_Options (void) +{ +} diff --git a/ace/Timer_Heap_T.cpp b/ace/Timer_Heap_T.cpp index 4ae610412bb..ad8ff2e5056 100644 --- a/ace/Timer_Heap_T.cpp +++ b/ace/Timer_Heap_T.cpp @@ -22,6 +22,11 @@ ACE_Timer_Heap_Iterator_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_Heap_Iterator_T (A this->first(); } +template <class TYPE, class FUNCTOR, class ACE_LOCK> +ACE_Timer_Heap_Iterator_T<TYPE, FUNCTOR, ACE_LOCK>::~ACE_Timer_Heap_Iterator_T (void) +{ +} + // Positions the iterator at the first node in the heap array diff --git a/ace/Timer_Heap_T.h b/ace/Timer_Heap_T.h index 47c9d4c4d20..11d4cf781b9 100644 --- a/ace/Timer_Heap_T.h +++ b/ace/Timer_Heap_T.h @@ -39,6 +39,9 @@ public: ACE_Timer_Heap_Iterator_T (ACE_Timer_Heap_T<TYPE, FUNCTOR, ACE_LOCK> &); // Constructor. + ~ACE_Timer_Heap_Iterator_T (void); + // Destructor. + virtual void first (void); // Positions the iterator at the earliest node in the Timer Queue diff --git a/ace/Timer_List_T.cpp b/ace/Timer_List_T.cpp index 5594c5cb39d..5ae7331927c 100644 --- a/ace/Timer_List_T.cpp +++ b/ace/Timer_List_T.cpp @@ -17,6 +17,11 @@ ACE_Timer_List_Iterator_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_List_Iterator_T (A // Nothing } +template <class TYPE, class FUNCTOR, class ACE_LOCK> +ACE_Timer_List_Iterator_T<TYPE, FUNCTOR, ACE_LOCK>::~ACE_Timer_List_Iterator_T (void) +{ +} + // Positions the iterator at the node right after the dummy node template <class TYPE, class FUNCTOR, class ACE_LOCK> void diff --git a/ace/Timer_List_T.h b/ace/Timer_List_T.h index 55c32bd2195..e03e1cb5f2e 100644 --- a/ace/Timer_List_T.h +++ b/ace/Timer_List_T.h @@ -36,6 +36,9 @@ public: ACE_Timer_List_Iterator_T (ACE_Timer_List_T<TYPE, FUNCTOR, ACE_LOCK> &); // Constructor. + ~ACE_Timer_List_Iterator_T (void); + // Destructor. + virtual void first (void); // Positions the iterator at the earliest node in the Timer Queue diff --git a/ace/Timer_Queue_T.cpp b/ace/Timer_Queue_T.cpp index 4857d96dbc9..709f772b6c7 100644 --- a/ace/Timer_Queue_T.cpp +++ b/ace/Timer_Queue_T.cpp @@ -32,6 +32,12 @@ ACE_Timer_Node_T<TYPE>::ACE_Timer_Node_T (void) ACE_TRACE ("ACE_Timer_Node_T::ACE_Timer_Node_T"); } +template <class TYPE> +ACE_Timer_Node_T<TYPE>::~ACE_Timer_Node_T (void) +{ + ACE_TRACE ("ACE_Timer_Node_T::~ACE_Timer_Node_T"); +} + template <class TYPE, class FUNCTOR, class ACE_LOCK> ACE_Timer_Queue_Iterator_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_Queue_Iterator_T (void) { @@ -250,6 +256,16 @@ ACE_Timer_Queue_T<TYPE, FUNCTOR, ACE_LOCK>::return_node (ACE_Timer_Node_T<TYPE> } +template <class ACE_LOCK> +ACE_Event_Handler_Handle_Timeout_Upcall<ACE_LOCK>::ACE_Event_Handler_Handle_Timeout_Upcall (void) +{ +} + +template <class ACE_LOCK> +ACE_Event_Handler_Handle_Timeout_Upcall<ACE_LOCK>::~ACE_Event_Handler_Handle_Timeout_Upcall (void) +{ +} + template <class ACE_LOCK> int ACE_Event_Handler_Handle_Timeout_Upcall<ACE_LOCK>::timeout (ACE_Timer_Queue_T<ACE_Event_Handler *, ACE_Event_Handler_Handle_Timeout_Upcall<ACE_LOCK>, diff --git a/ace/Timer_Queue_T.h b/ace/Timer_Queue_T.h index 2cba3e8e3a9..48dfdceec44 100644 --- a/ace/Timer_Queue_T.h +++ b/ace/Timer_Queue_T.h @@ -29,6 +29,9 @@ public: ACE_Timer_Node_T (void); // Default constructor + ~ACE_Timer_Node_T (void); + // Dtor. + void set (const TYPE &type, const void *a, const ACE_Time_Value &t, @@ -334,6 +337,9 @@ public: ACE_LOCK> TIMER_QUEUE; + ACE_Event_Handler_Handle_Timeout_Upcall (void); + ~ACE_Event_Handler_Handle_Timeout_Upcall (void); + int timeout (TIMER_QUEUE &timer_queue, ACE_Event_Handler *handler, const void *arg, diff --git a/ace/Timer_Wheel_T.cpp b/ace/Timer_Wheel_T.cpp index 2f3a701680b..ac80adb65c0 100644 --- a/ace/Timer_Wheel_T.cpp +++ b/ace/Timer_Wheel_T.cpp @@ -19,6 +19,10 @@ ACE_Timer_Wheel_Iterator_T<TYPE, FUNCTOR, ACE_LOCK>::ACE_Timer_Wheel_Iterator_T // Nothing } +template <class TYPE, class FUNCTOR, class ACE_LOCK> +ACE_Timer_Wheel_Iterator_T<TYPE, FUNCTOR, ACE_LOCK>::~ACE_Timer_Wheel_Iterator_T (void) +{ +} // Positions the iterator at the first node in the timing wheel diff --git a/ace/Timer_Wheel_T.h b/ace/Timer_Wheel_T.h index db2f1c20339..88e131b1faf 100644 --- a/ace/Timer_Wheel_T.h +++ b/ace/Timer_Wheel_T.h @@ -38,6 +38,9 @@ public: ACE_Timer_Wheel_Iterator_T (ACE_Timer_Wheel_T<TYPE, FUNCTOR, ACE_LOCK> &); // Constructor + ~ACE_Timer_Wheel_Iterator_T (void); + // Destructor + virtual void first (void); // Positions the iterator at the earliest node in the Timer Queue |