mirror of
https://github.com/mangosfour/server.git
synced 2025-12-12 10:37:03 +00:00
(based on zergtmn's repo commit 3a8c259) (based on zergtmn's repo commit 946c1a8) Signed-off-by: VladimirMangos <vladimir@getmangos.com>
45 lines
1 KiB
C++
45 lines
1 KiB
C++
// -*- C++ -*-
|
|
// $Id: OS_Errno.cpp 91809 2010-09-17 07:20:41Z johnnyw $
|
|
|
|
#include "ace/OS_Errno.h"
|
|
|
|
// Inlining this class on debug builds with gcc on Solaris can cause
|
|
// deadlocks during static initialization. On non debug builds it
|
|
// causes compilation errors.
|
|
#if !defined (ACE_HAS_INLINED_OSCALLS) || \
|
|
(defined (__GNUG__) && defined (__sun__))
|
|
# if defined (ACE_INLINE)
|
|
# undef ACE_INLINE
|
|
# endif /* ACE_INLINE */
|
|
# define ACE_INLINE
|
|
# include "ace/OS_Errno.inl"
|
|
#endif /* ACE_HAS_INLINED_OSCALLS */
|
|
|
|
#if defined (ACE_HAS_WINCE_BROKEN_ERRNO)
|
|
|
|
#include "ace/OS_Memory.h"
|
|
|
|
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
|
|
|
|
ACE_CE_Errno *ACE_CE_Errno::instance_ = 0;
|
|
DWORD ACE_CE_Errno::errno_key_ = 0xffffffff;
|
|
|
|
void
|
|
ACE_CE_Errno::init ()
|
|
{
|
|
ACE_NEW (ACE_CE_Errno::instance_,
|
|
ACE_CE_Errno ());
|
|
ACE_CE_Errno::errno_key_ = TlsAlloc ();
|
|
}
|
|
|
|
void
|
|
ACE_CE_Errno::fini ()
|
|
{
|
|
TlsFree (ACE_CE_Errno::errno_key_);
|
|
delete ACE_CE_Errno::instance_;
|
|
ACE_CE_Errno::instance_ = 0;
|
|
}
|
|
|
|
ACE_END_VERSIONED_NAMESPACE_DECL
|
|
|
|
#endif /* ACE_HAS_WINCE_BROKEN_ERRNO */
|