ACE_Errno_Guard Class Reference
Provides a wrapper to improve performance when thread-specific errno must be saved and restored in a block of code.
More...
#include <OS_Errno.h>
List of all members.
Detailed Description
Provides a wrapper to improve performance when thread-specific errno must be saved and restored in a block of code.
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.
Constructor & Destructor Documentation
ACE_Errno_Guard::ACE_Errno_Guard |
( |
ACE_ERRNO_TYPE & |
errno_ref, |
|
|
int |
error | |
|
) |
| | |
Stash the value of error into error_
and initialize the errno_ptr_
to the address of errno_ref.
ACE_Errno_Guard::ACE_Errno_Guard |
( |
ACE_ERRNO_TYPE & |
errno_ref |
) |
|
Initialize the errno_ptr_
to the address of errno_ref.
ACE_Errno_Guard::~ACE_Errno_Guard |
( |
void |
|
) |
|
Reset the value of errno
to <error>.
Member Function Documentation
bool ACE_Errno_Guard::operator!= |
( |
int |
error |
) |
|
Compare <error> with <error_> for inequality.
int ACE_Errno_Guard::operator= |
( |
int |
error |
) |
|
Assign <error> to <error_>.
int ACE_Errno_Guard::operator= |
( |
const ACE_ERRNO_TYPE & |
errno_ref |
) |
|
Assign errno_ref to <error_>.
bool ACE_Errno_Guard::operator== |
( |
int |
error |
) |
|
Compare <error> with <error_> for equality.
Member Data Documentation
The documentation for this class was generated from the following files: