|
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 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.