00001 // -*- C++ -*- 00002 00003 //============================================================================= 00004 /** 00005 * @file Select_Reactor.h 00006 * 00007 * $Id: Select_Reactor.h 70690 2006-01-27 09:09:02Z jwillemsen $ 00008 * 00009 * @author Douglas C. Schmidt <schmidt@cs.wustl.edu> 00010 */ 00011 //============================================================================= 00012 00013 #ifndef ACE_SELECT_REACTOR_H 00014 #define ACE_SELECT_REACTOR_H 00015 #include /**/ "ace/pre.h" 00016 00017 #include "ace/Select_Reactor_T.h" 00018 #include "ace/Reactor_Token_T.h" 00019 00020 #if !defined (ACE_LACKS_PRAGMA_ONCE) 00021 # pragma once 00022 #endif /* ACE_LACKS_PRAGMA_ONCE */ 00023 00024 ACE_BEGIN_VERSIONED_NAMESPACE_DECL 00025 00026 //@@ TAO_REACTOR_SPL_COMMENT_HOOK_START 00027 typedef ACE_Reactor_Token_T<ACE_SELECT_TOKEN> ACE_Select_Reactor_Token; 00028 00029 typedef ACE_Select_Reactor_T<ACE_Select_Reactor_Token> ACE_Select_Reactor; 00030 //@@ TAO_REACTOR_SPL_COMMENT_HOOK_END 00031 00032 #if defined (ACE_MT_SAFE) && (ACE_MT_SAFE == 0) 00033 /** 00034 * @class ACE_Guard< ACE_Reactor_Token_T<ACE_Noop_Token> > 00035 * 00036 * @brief Template specialization of ACE_Guard for the 00037 * ACE_Null_Mutex. 00038 * 00039 * This specialization is useful since it helps to speedup 00040 * performance of the "Null_Mutex" considerably. 00041 */ 00042 template<> 00043 class ACE_Export ACE_Guard< ACE_Reactor_Token_T<ACE_Noop_Token> > 00044 { 00045 public: 00046 // = Initialization and termination methods. 00047 ACE_Guard (ACE_Reactor_Token_T<ACE_Noop_Token> &) {} 00048 ACE_Guard (ACE_Reactor_Token_T<ACE_Noop_Token> &, int) {} 00049 ~ACE_Guard (void) {} 00050 00051 int acquire (void) { return 0; } 00052 int tryacquire (void) { return 0; } 00053 int release (void) { return 0; } 00054 int locked (void) { return 1; } 00055 int remove (void) { return 0; } 00056 void dump (void) const {} 00057 00058 private: 00059 // Disallow copying and assignment. 00060 ACE_Guard (const ACE_Guard< ACE_Reactor_Token_T<ACE_Noop_Token> > &); 00061 void operator= (const ACE_Guard< ACE_Reactor_Token_T<ACE_Noop_Token> > &); 00062 00063 }; 00064 #endif /* ACE_MT_SAFE && ACE_MT_SAFE == 0 */ 00065 00066 ACE_END_VERSIONED_NAMESPACE_DECL 00067 00068 #include /**/ "ace/post.h" 00069 #endif /* ACE_SELECT_REACTOR_H */