#include "ace/Semaphore.h" #if !defined (__ACE_INLINE__) #include "ace/Semaphore.inl" #endif /* __ACE_INLINE__ */ #include "ace/Log_Category.h" #include "ace/ACE.h" #if defined (ACE_HAS_ALLOC_HOOKS) # include "ace/Malloc_Base.h" #endif /* ACE_HAS_ALLOC_HOOKS */ ACE_BEGIN_VERSIONED_NAMESPACE_DECL ACE_ALLOC_HOOK_DEFINE(ACE_Semaphore) void ACE_Semaphore::dump () const { #if defined (ACE_HAS_DUMP) // ACE_TRACE ("ACE_Semaphore::dump"); ACELIB_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this)); ACELIB_DEBUG ((LM_DEBUG, ACE_TEXT ("\n"))); ACELIB_DEBUG ((LM_DEBUG, ACE_END_DUMP)); #endif /* ACE_HAS_DUMP */ } ACE_Semaphore::ACE_Semaphore (unsigned int count, int type, const ACE_TCHAR *name, void *arg, int max) : removed_ (false) { // ACE_TRACE ("ACE_Semaphore::ACE_Semaphore"); #if defined(ACE_LACKS_UNNAMED_SEMAPHORE) // if the user does not provide a name, we generate a unique name here ACE_TCHAR iname[ACE_UNIQUE_NAME_LEN]; if (name == 0) ACE::unique_name (this, iname, ACE_UNIQUE_NAME_LEN); if (ACE_OS::sema_init (&this->semaphore_, count, type, name ? name : iname, arg, max) != 0) #else if (ACE_OS::sema_init (&this->semaphore_, count, type, name, arg, max) != 0) #endif ACELIB_ERROR ((LM_ERROR, ACE_TEXT ("%p\n"), ACE_TEXT ("ACE_Semaphore::ACE_Semaphore"))); } ACE_Semaphore::~ACE_Semaphore () { // ACE_TRACE ("ACE_Semaphore::~ACE_Semaphore"); this->remove (); } ACE_END_VERSIONED_NAMESPACE_DECL