ACE  6.2.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Private Attributes | List of all members
ACE_Dev_Poll_Handler_Guard Class Reference

Class used to make event handler reference count manipulation exception-safe. More...

#include <Dev_Poll_Reactor.h>

Collaboration diagram for ACE_Dev_Poll_Handler_Guard:
Collaboration graph
[legend]

Public Member Functions

 ACE_Dev_Poll_Handler_Guard (ACE_Event_Handler *eh, bool do_incr=true)
 Constructor. More...
 
 ~ACE_Dev_Poll_Handler_Guard (void)
 Destructor. More...
 
void release (void)
 

Private Attributes

ACE_Event_Handlereh_
 The event handler being managed. More...
 
bool refcounted_
 true if eh_ is a reference-counted handler. More...
 

Detailed Description

Class used to make event handler reference count manipulation exception-safe.

This class makes the reference count manipulation that occurs during an upcall exception-safe. Prior to dispatching the event handler, the reference count is increased. Once the upcall for the given event handler is complete, its reference count will be decreased.

Constructor & Destructor Documentation

ACE_Dev_Poll_Handler_Guard::ACE_Dev_Poll_Handler_Guard ( ACE_Event_Handler eh,
bool  do_incr = true 
)
inline

Constructor.

The constructor checks to see if eh is a reference-counted handler and remember that for later. If eh is reference counted, its reference count is incremented unless do_incr is false. do_incr should be false if the reference count was incremented independently of this guard, for example, on a notify handler since the reference count is incremented when the notify is queued.

ACE_Dev_Poll_Handler_Guard::~ACE_Dev_Poll_Handler_Guard ( void  )
inline

Destructor.

The destructor decrements the reference count on the event handler corresponding to the given handle.

Member Function Documentation

void ACE_Dev_Poll_Handler_Guard::release ( void  )
inline

Release the event handler from this guard; when the destructor is called, the handler's reference count will not be decremented.

Member Data Documentation

ACE_Event_Handler* ACE_Dev_Poll_Handler_Guard::eh_
private

The event handler being managed.

bool ACE_Dev_Poll_Handler_Guard::refcounted_
private

true if eh_ is a reference-counted handler.


The documentation for this class was generated from the following files: