3 //=============================================================================
5 * @file Select_Reactor.h
7 * $Id: Select_Reactor.h 80826 2008-03-04 14:51:23Z wotte $
9 * @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
11 //=============================================================================
13 #ifndef ACE_SELECT_REACTOR_H
14 #define ACE_SELECT_REACTOR_H
15 #include /**/ "ace/pre.h"
17 #include "ace/Select_Reactor_T.h"
18 #include "ace/Reactor_Token_T.h"
20 #if !defined (ACE_LACKS_PRAGMA_ONCE)
22 #endif /* ACE_LACKS_PRAGMA_ONCE */
24 ACE_BEGIN_VERSIONED_NAMESPACE_DECL
26 //@@ TAO_REACTOR_SPL_COMMENT_HOOK_START
27 typedef ACE_Reactor_Token_T
<ACE_SELECT_TOKEN
> ACE_Select_Reactor_Token
;
29 typedef ACE_Select_Reactor_T
<ACE_Select_Reactor_Token
> ACE_Select_Reactor
;
30 //@@ TAO_REACTOR_SPL_COMMENT_HOOK_END
32 #if defined (ACE_MT_SAFE) && (ACE_MT_SAFE == 0)
34 * @class ACE_Guard< ACE_Reactor_Token_T<ACE_Noop_Token> >
36 * @brief Template specialization of ACE_Guard for the
39 * This specialization is useful since it helps to speedup
40 * performance of the "Null_Mutex" considerably.
43 class ACE_Export ACE_Guard
< ACE_Reactor_Token_T
<ACE_Noop_Token
> >
46 // = Initialization and termination methods.
47 ACE_Guard (ACE_Reactor_Token_T
<ACE_Noop_Token
> &) {}
48 ACE_Guard (ACE_Reactor_Token_T
<ACE_Noop_Token
> &, int) {}
51 int acquire (void) { return 0; }
52 int tryacquire (void) { return 0; }
53 int release (void) { return 0; }
54 int locked (void) { return 1; }
55 int remove (void) { return 0; }
56 void dump (void) const {}
59 // Disallow copying and assignment.
60 ACE_Guard (const ACE_Guard
< ACE_Reactor_Token_T
<ACE_Noop_Token
> > &);
61 void operator= (const ACE_Guard
< ACE_Reactor_Token_T
<ACE_Noop_Token
> > &);
64 #endif /* ACE_MT_SAFE && ACE_MT_SAFE == 0 */
66 ACE_END_VERSIONED_NAMESPACE_DECL
68 #include /**/ "ace/post.h"
69 #endif /* ACE_SELECT_REACTOR_H */