summaryrefslogtreecommitdiff
path: root/ace/Condition_Recursive_Thread_Mutex.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'ace/Condition_Recursive_Thread_Mutex.cpp')
-rw-r--r--ace/Condition_Recursive_Thread_Mutex.cpp126
1 files changed, 0 insertions, 126 deletions
diff --git a/ace/Condition_Recursive_Thread_Mutex.cpp b/ace/Condition_Recursive_Thread_Mutex.cpp
deleted file mode 100644
index 0542fa4ec9b..00000000000
--- a/ace/Condition_Recursive_Thread_Mutex.cpp
+++ /dev/null
@@ -1,126 +0,0 @@
-/* -*- C++ -*- */
-/**
- * @file Condition_Recursive_Thread_Mutex.cpp
- *
- * $Id$
- *
- * Originally in Synch.cpp
- *
- * @author Douglas C. Schmidt <schmidt@cs.wustl.edu>
- */
-
-#include "ace/Condition_Recursive_Thread_Mutex.h"
-
-#if defined (ACE_HAS_THREADS)
-
-#if defined (ACE_HAS_DUMP)
-# include "ace/Log_Msg.h"
-#endif /* ACE_HAS_DUMP */
-
-//ACE_TEMPLATE_METHOD_SPECIALIZATION
-int
-ACE_Condition<ACE_Recursive_Thread_Mutex>::remove (void)
-{
- return ACE_OS::cond_destroy (&this->cond_);
-}
-
-void
-ACE_Condition<ACE_Recursive_Thread_Mutex>::dump (void) const
-{
-#if defined (ACE_HAS_DUMP)
-// ACE_TRACE ("ACE_Condition<MUTEX>::dump");
-
- ACE_DEBUG ((LM_DEBUG, ACE_BEGIN_DUMP, this));
- // No dump method for ACE_cond_t even in emulated mode.
- // cond_.dump ();
- this->mutex_.dump ();
- ACE_DEBUG ((LM_DEBUG, ACE_LIB_TEXT ("\n")));
- ACE_DEBUG ((LM_DEBUG, ACE_END_DUMP));
-#endif /* ACE_HAS_DUMP */
-}
-
-//ACE_TEMPLATE_METHOD_SPECIALIZATION
-ACE_Condition<ACE_Recursive_Thread_Mutex>::~ACE_Condition (void)
-{
- this->remove ();
-}
-
-//ACE_TEMPLATE_METHOD_SPECIALIZATION
-ACE_Condition<ACE_Recursive_Thread_Mutex>::ACE_Condition (ACE_Recursive_Thread_Mutex &m)
- : mutex_ (m)
-{
- ACE_OS::cond_init (&this->cond_);
-}
-
-//ACE_TEMPLATE_METHOD_SPECIALIZATION
-int
-ACE_Condition<ACE_Recursive_Thread_Mutex>::wait (const ACE_Time_Value *abstime)
-{
- return this->wait (this->mutex_, abstime);
-}
-
-//ACE_TEMPLATE_METHOD_SPECIALIZATION
-int
-ACE_Condition<ACE_Recursive_Thread_Mutex>::wait (ACE_Recursive_Thread_Mutex &mutex,
- const ACE_Time_Value *abstime)
-{
- ACE_recursive_mutex_state mutex_state_holder;
- ACE_recursive_thread_mutex_t &recursive_mutex = mutex.mutex ();
-
- if (ACE_OS::recursive_mutex_cond_unlock (&recursive_mutex,
- mutex_state_holder) == -1)
- return -1;
-
- // We wait on the condition, specifying the nesting mutex. For platforms
- // with ACE_HAS_RECURSIVE_MUTEXES, this is the recursive mutex itself,
- // and is the same as recursive_mutex, above. The caller should have been
- // holding the lock on entry to this method, and it is still held.
- // For other platforms, this is the nesting mutex that guards the
- // ACE_recursive_mutex_t internals, and recursive_mutex_cond_unlock()
- // returned with the lock held, but waiters primed and waiting to be
- // released. At cond_wait below, the mutex will be released.
- // On return, it will be reacquired.
- const int result = abstime == 0
- ? ACE_OS::cond_wait (&this->cond_,
- &mutex.get_nesting_mutex ())
- : ACE_OS::cond_timedwait (&this->cond_,
- &mutex.get_nesting_mutex (),
- (ACE_Time_Value *) abstime);
- // We are holding the mutex, whether the wait succeeded or failed.
- // Stash errno (in case it failed) and then we need to reset the
- // recursive mutex state to what it was on entry to this method.
- // Resetting it may require a wait for another thread to release
- // the ACE_recursive_thread_mutex_t if this is a platform without
- // ACE_HAS_RECURSIVE_MUTEXES, and recursive_mutex_cond_relock() takes
- // care of that.
- {
- ACE_Errno_Guard error (errno);
- ACE_OS::recursive_mutex_cond_relock (&recursive_mutex,
- mutex_state_holder);
- }
-
- return result;
-}
-
-//ACE_TEMPLATE_METHOD_SPECIALIZATION
-int
-ACE_Condition<ACE_Recursive_Thread_Mutex>::signal (void)
-{
- return ACE_OS::cond_signal (&this->cond_);
-}
-
-//ACE_TEMPLATE_METHOD_SPECIALIZATION
-int
-ACE_Condition<ACE_Recursive_Thread_Mutex>::broadcast (void)
-{
- return ACE_OS::cond_broadcast (&this->cond_);
-}
-
-//ACE_TEMPLATE_METHOD_SPECIALIZATION
-ACE_Recursive_Thread_Mutex &
-ACE_Condition<ACE_Recursive_Thread_Mutex>::mutex (void)
-{
- return this->mutex_;
-}
-
-#endif /* ACD_HAS_THREADS */