#include <OS_Errno.h>
Public Member Functions | |
| ACE_Errno_Guard (ACE_ERRNO_TYPE &errno_ref, int error) | |
| ACE_Errno_Guard (ACE_ERRNO_TYPE &errno_ref) | |
| ~ACE_Errno_Guard (void) | |
| Reset the value of <errno> to <error>.   | |
| int | operator= (int error) | 
| Assign <error> to <error_>.   | |
| bool | operator== (int error) | 
| Compare <error> with <error_> for equality.   | |
| bool | operator!= (int error) | 
| Compare <error> with <error_> for inequality.   | |
Private Member Functions | |
| ACE_Errno_Guard (const ACE_Errno_Guard &) | |
| ACE_Errno_Guard & | operator= (const ACE_Errno_Guard &) | 
Private Attributes | |
| int | error_ | 
The typical use-case for this is the following: int error = errno; call_some_function_that_might_change_errno (); errno = error; This can be replaced with { ACE_Errno_Guard guard (errno); call_some_function_that_might_change_errno (); } This implementation is more elegant and more efficient since it avoids an unnecessary second access to thread-specific storage by caching a pointer to the value of errno in TSS.
      
  | 
  ||||||||||||
| 
 Stash the value of <error> into <error_> and initialize the <errno_ptr_> to the address of <errno_ref>.  | 
  
      
  | 
  
| 
 Stash the value of <errno> into <error_> and initialize the <errno_ptr_> to the address of <errno_ref>.  | 
  
      
  | 
  
| 
 Reset the value of <errno> to <error>. 
  | 
  
      
  | 
  
| 
 
  | 
  
      
  | 
  
| 
 Compare <error> with <error_> for inequality. 
  | 
  
      
  | 
  
| 
 
  | 
  
      
  | 
  
| 
 Assign <error> to <error_>. 
  | 
  
      
  | 
  
| 
 Compare <error> with <error_> for equality. 
  | 
  
      
  | 
  
| 
 
  | 
  
 1.3.9.1