diff options
Diffstat (limited to 'ace/OS_Errno.inl')
-rw-r--r-- | ace/OS_Errno.inl | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/ace/OS_Errno.inl b/ace/OS_Errno.inl index 9330c37deb4..67ef64f3d5c 100644 --- a/ace/OS_Errno.inl +++ b/ace/OS_Errno.inl @@ -1,6 +1,31 @@ // -*- C++ -*- // $Id$ +#if defined (ACE_HAS_WINCE_BROKEN_ERRNO) + +ACE_INLINE ACE_CE_Errno * +ACE_CE_Errno::instance () +{ + // This should be inlined. + return ACE_CE_Errno::instance_; +} + +ACE_INLINE +ACE_CE_Errno::operator int (void) const +{ + return (int) TlsGetValue (ACE_CE_Errno::errno_key_); +} + +ACE_INLINE int +ACE_CE_Errno::operator= (int x) +{ + // error checking? + TlsSetValue (ACE_CE_Errno::errno_key_, (void *) x); + return x; +} + +#endif /* ACE_HAS_WINCE_BROKEN_ERRNO */ + ACE_INLINE ACE_Errno_Guard::ACE_Errno_Guard (ACE_ERRNO_TYPE &errno_ref, int error) |