#include "ace/Reactor.h"#include "ace/Service_Config.h"#include "ace/Select_Reactor.h"#include "ace/Static_Object_Lock.h"#include "ace/Framework_Component.h"#include "ace/Guard_T.h"#include "ace/Recursive_Thread_Mutex.h"
Go to the source code of this file.
Functions | |
| ACE_RCSID (ace, Reactor,"$Id: Reactor.cpp 79689 2007-09-21 09:30:39Z johnnyw $") 1 ACE_Reactor | |
| ACE_RCSID | ( | ace | , | |
| Reactor | , | |||
| "$Id: Reactor.cpp 79689 2007-09-21 09:30:39Z johnnyw $" | ||||
| ) |
Definition at line 54 of file Reactor.cpp.
00056 : Reactor.cpp 79689 2007-09-21 09:30:39Z johnnyw $") 00057 00058 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00059 00060 ACE_ALLOC_HOOK_DEFINE(ACE_Reactor) 00061 00062 ACE_Reactor::ACE_Reactor (ACE_Reactor_Impl *impl, 00063 bool delete_implementation) 00064 : implementation_ (0), 00065 delete_implementation_ (delete_implementation) 00066 { 00067 this->implementation (impl); 00068 00069 if (this->implementation () == 0) 00070 { 00071 /* 00072 * Hook to specialize the reactor implementation with the concrete 00073 * Reactor implementation known at compile time. This hook will 00074 * cause the conditionally defined code to be commented out and 00075 * the concrete Reactor directly created. 00076 */ 00077 //@@ REACTOR_SPL_CONSTRUCTOR_COMMENT_HOOK_START 00078 #if !defined (ACE_WIN32) \ 00079 || !defined (ACE_HAS_WINSOCK2) || (ACE_HAS_WINSOCK2 == 0) \ 00080 || defined (ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL) \ 00081 || defined (ACE_USE_TP_REACTOR_FOR_REACTOR_IMPL) \ 00082 || defined (ACE_USE_DEV_POLL_REACTOR_FOR_REACTOR_IMPL) 00083 # if defined (ACE_USE_TP_REACTOR_FOR_REACTOR_IMPL) 00084 ACE_NEW (impl, 00085 ACE_TP_Reactor); 00086 # else 00087 # if defined (ACE_USE_DEV_POLL_REACTOR_FOR_REACTOR_IMPL) 00088 ACE_NEW (impl, 00089 ACE_Dev_Poll_Reactor); 00090 # else 00091 ACE_NEW (impl, 00092 ACE_Select_Reactor); 00093 # endif /* ACE_USE_DEV_POLL_REACTOR_FOR_REACTOR_IMPL */ 00094 # endif /* ACE_USE_TP_REACTOR_FOR_REACTOR_IMPL */ 00095 #else /* We are on Win32 and we have winsock and ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL is not defined */ 00096 #if defined (ACE_USE_MSG_WFMO_REACTOR_FOR_REACTOR_IMPL) 00097 ACE_NEW (impl, 00098 ACE_Msg_WFMO_Reactor); 00099 #else 00100 ACE_NEW (impl, 00101 ACE_WFMO_Reactor); 00102 #endif /* ACE_USE_MSG_WFMO_REACTOR_FOR_REACTOR_IMPL */ 00103 #endif /* !defined (ACE_WIN32) || !defined (ACE_HAS_WINSOCK2) || (ACE_HAS_WINSOCK2 == 0) || defined (ACE_USE_SELECT_REACTOR_FOR_REACTOR_IMPL) */ 00104 00105 /* 00106 * End hook. 00107 */ 00108 //@@ REACTOR_SPL_CONSTRUCTOR_COMMENT_HOOK_END 00109 00110 this->implementation (impl); 00111 this->delete_implementation_ = true; 00112 } 00113 }
1.6.1