Files
TrinityCore/dep/ACE_wrappers/ace/Process_Mutex.inl
T
Neo2003 5651828bf7 [svn] * Added ACE for Linux and Windows (Thanks Derex for Linux part and partial Windows part)
* Updated to 6721 and 676
* Fixed TrinityScript logo
* Version updated to 0.2.6721.676

--HG--
branch : trunk
rename : 6700-670 => 6721-676
2008-10-04 06:17:19 -05:00

119 lines
2.6 KiB
C++

// -*- C++ -*-
//
// $Id: Process_Mutex.inl 80826 2008-03-04 14:51:23Z wotte $
ACE_BEGIN_VERSIONED_NAMESPACE_DECL
#if !defined (_ACE_USE_SV_SEM)
ACE_INLINE const ACE_mutex_t &
ACE_Process_Mutex::lock (void) const
{
// ACE_TRACE ("ACE_Process_Mutex::lock");
return this->lock_.lock ();
}
#endif /* !_ACE_USE_SV_SEM */
// Explicitly destroy the mutex.
ACE_INLINE int
ACE_Process_Mutex::remove (void)
{
return this->lock_.remove ();
}
// Acquire lock ownership (wait on priority queue if necessary).
ACE_INLINE int
ACE_Process_Mutex::acquire (void)
{
#if defined (_ACE_USE_SV_SEM)
return this->lock_.acquire (0, SEM_UNDO);
#else
return this->lock_.acquire ();
#endif // _ACE_USE_SV_SEM
}
// Acquire lock ownership (wait on priority queue if necessary).
ACE_INLINE int
ACE_Process_Mutex::acquire (ACE_Time_Value &tv)
{
#if !defined (_ACE_USE_SV_SEM)
return this->lock_.acquire (tv);
#else
ACE_UNUSED_ARG (tv);
ACE_NOTSUP_RETURN (-1);
#endif /* !_ACE_USE_SV_SEM */
}
// Conditionally acquire lock (i.e., don't wait on queue).
ACE_INLINE int
ACE_Process_Mutex::tryacquire (void)
{
#if defined (_ACE_USE_SV_SEM)
return this->lock_.tryacquire (0, SEM_UNDO);
#else
return this->lock_.tryacquire ();
#endif // _ACE_USE_SV_SEM
}
// Release lock and unblock a thread at head of priority queue.
ACE_INLINE int
ACE_Process_Mutex::release (void)
{
#if defined (_ACE_USE_SV_SEM)
return this->lock_.release (0, SEM_UNDO);
#else
return this->lock_.release ();
#endif // _ACE_USE_SV_SEM
}
// Acquire lock ownership (wait on priority queue if necessary).
ACE_INLINE int
ACE_Process_Mutex::acquire_read (void)
{
#if defined (_ACE_USE_SV_SEM)
return this->lock_.acquire_read (0, SEM_UNDO);
#else
return this->lock_.acquire_read ();
#endif // _ACE_USE_SV_SEM
}
// Acquire lock ownership (wait on priority queue if necessary).
ACE_INLINE int
ACE_Process_Mutex::acquire_write (void)
{
#if defined (_ACE_USE_SV_SEM)
return this->lock_.acquire_write (0, SEM_UNDO);
#else
return this->lock_.acquire_write ();
#endif // _ACE_USE_SV_SEM
}
// Conditionally acquire a lock (i.e., won't block).
ACE_INLINE int
ACE_Process_Mutex::tryacquire_read (void)
{
#if defined (_ACE_USE_SV_SEM)
return this->lock_.tryacquire_read (0, SEM_UNDO);
#else
return this->lock_.tryacquire_read ();
#endif // _ACE_USE_SV_SEM
}
// Conditionally acquire a lock (i.e., won't block).
ACE_INLINE int
ACE_Process_Mutex::tryacquire_write (void)
{
#if defined (_ACE_USE_SV_SEM)
return this->lock_.tryacquire_write (0, SEM_UNDO);
#else
return this->lock_.tryacquire_write ();
#endif // _ACE_USE_SV_SEM
}
ACE_INLINE int
ACE_Process_Mutex::tryacquire_write_upgrade (void)
{
return 0;
}
ACE_END_VERSIONED_NAMESPACE_DECL