summaryrefslogtreecommitdiff
path: root/ACE/ace/Recursive_Thread_Mutex.inl
diff options
context:
space:
mode:
Diffstat (limited to 'ACE/ace/Recursive_Thread_Mutex.inl')
-rw-r--r--ACE/ace/Recursive_Thread_Mutex.inl95
1 files changed, 95 insertions, 0 deletions
diff --git a/ACE/ace/Recursive_Thread_Mutex.inl b/ACE/ace/Recursive_Thread_Mutex.inl
new file mode 100644
index 00000000000..6a7b55dc6a2
--- /dev/null
+++ b/ACE/ace/Recursive_Thread_Mutex.inl
@@ -0,0 +1,95 @@
+// -*- C++ -*-
+//
+// $Id$
+
+ACE_BEGIN_VERSIONED_NAMESPACE_DECL
+
+ACE_INLINE ACE_recursive_thread_mutex_t &
+ACE_Recursive_Thread_Mutex::lock (void)
+{
+ return lock_;
+}
+
+ACE_INLINE ACE_thread_mutex_t &
+ACE_Recursive_Thread_Mutex::get_nesting_mutex (void)
+{
+#if defined (ACE_HAS_RECURSIVE_MUTEXES)
+ return static_cast<ACE_thread_mutex_t &> (lock_);
+#else
+ return lock_.nesting_mutex_;
+#endif /* ACE_HAS_RECURSIVE_MUTEXES */
+}
+
+ACE_INLINE void
+ACE_Recursive_Thread_Mutex::set_thread_id (ACE_thread_t t)
+{
+// ACE_TRACE ("ACE_Recursive_Thread_Mutex::set_thread_id");
+#if defined (ACE_HAS_RECURSIVE_MUTEXES)
+ ACE_UNUSED_ARG (t);
+#else /* ! ACE_HAS_RECURSIVE_MUTEXES */
+ this->lock_.owner_id_ = t;
+#endif /* ! ACE_HAS_RECURSIVE_MUTEXES */
+}
+
+ACE_INLINE int
+ACE_Recursive_Thread_Mutex::acquire (void)
+{
+ return ACE_OS::recursive_mutex_lock (&this->lock_);
+}
+
+ACE_INLINE int
+ACE_Recursive_Thread_Mutex::release (void)
+{
+ return ACE_OS::recursive_mutex_unlock (&this->lock_);
+}
+
+ACE_INLINE int
+ACE_Recursive_Thread_Mutex::tryacquire (void)
+{
+ return ACE_OS::recursive_mutex_trylock (&this->lock_);
+}
+
+ACE_INLINE int
+ACE_Recursive_Thread_Mutex::acquire (ACE_Time_Value &tv)
+{
+ return ACE_OS::recursive_mutex_lock (&this->lock_, tv);
+}
+
+ACE_INLINE int
+ACE_Recursive_Thread_Mutex::acquire (ACE_Time_Value *tv)
+{
+ return ACE_OS::recursive_mutex_lock (&this->lock_, tv);
+}
+
+ACE_INLINE int
+ACE_Recursive_Thread_Mutex::acquire_read (void)
+{
+ return this->acquire ();
+}
+
+ACE_INLINE int
+ACE_Recursive_Thread_Mutex::acquire_write (void)
+{
+ return this->acquire ();
+}
+
+ACE_INLINE int
+ACE_Recursive_Thread_Mutex::tryacquire_read (void)
+{
+ return this->tryacquire ();
+}
+
+ACE_INLINE int
+ACE_Recursive_Thread_Mutex::tryacquire_write (void)
+{
+ return this->tryacquire ();
+}
+
+ACE_INLINE int
+ACE_Recursive_Thread_Mutex::tryacquire_write_upgrade (void)
+{
+ return 0;
+}
+
+ACE_END_VERSIONED_NAMESPACE_DECL
+