diff options
author | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-06-18 18:53:27 +0000 |
---|---|---|
committer | nobody <nobody@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2005-06-18 18:53:27 +0000 |
commit | 152c0f5c127eac99b5c9097aa4db2b34e14e6dd0 (patch) | |
tree | 0d399a92623e98588cd34e4fe0c2cf7fed880173 /examples/APG/ThreadSafety/Mutex.cpp | |
parent | 7e7f4a5d3e77a42e648b7dd2e1b9cf23a3780955 (diff) | |
download | ATCD-MyACE.tar.gz |
This commit was manufactured by cvs2svn to create branch 'MyACE'.MyACE
Diffstat (limited to 'examples/APG/ThreadSafety/Mutex.cpp')
-rw-r--r-- | examples/APG/ThreadSafety/Mutex.cpp | 73 |
1 files changed, 0 insertions, 73 deletions
diff --git a/examples/APG/ThreadSafety/Mutex.cpp b/examples/APG/ThreadSafety/Mutex.cpp deleted file mode 100644 index aa21665222c..00000000000 --- a/examples/APG/ThreadSafety/Mutex.cpp +++ /dev/null @@ -1,73 +0,0 @@ -// $Id$ - -#include "ace/config-lite.h" -#if defined (ACE_HAS_THREADS) - -#include "ace/Synch.h" - -class LogMessage -{ -public: - enum { CRITICAL, NORMAL}; - - virtual ~LogMessage () - { - } - - virtual int priority (void) - { - return NORMAL; - } -}; - -class CriticalLogMessage : public LogMessage -{ - virtual int priority (void) - { - return LogMessage::CRITICAL; - } -}; - -// Listing 1 code/ch14 -typedef ACE_Thread_Mutex MUTEX; -class Logger -{ -public: - void log (LogMessage *msg) - { - ACE_GUARD (MUTEX, mon, mutex_); - if (msg->priority () == LogMessage::CRITICAL) - logCritical (msg); - } - - void logCritical (LogMessage *) - { - // Acquires the same mutex as log()! - ACE_GUARD(MUTEX, mon, mutex_); - } - -private: - MUTEX mutex_; -}; - -static Logger logger; - -int ACE_TMAIN (int, ACE_TCHAR *[]) -{ - CriticalLogMessage cm; - logger.log(&cm); // Will cause deadlock. - return 0; -} -// Listing 1 - -#else -#include "ace/OS_main.h" -#include "ace/OS_NS_stdio.h" - -int ACE_TMAIN (int, ACE_TCHAR *[]) -{ - ACE_OS::puts (ACE_TEXT ("This example requires threads.")); - return 0; -} - -#endif /* ACE_HAS_THREADS */ |