summaryrefslogtreecommitdiff
path: root/examples/APG/Threads/Guards.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'examples/APG/Threads/Guards.cpp')
-rw-r--r--examples/APG/Threads/Guards.cpp95
1 files changed, 0 insertions, 95 deletions
diff --git a/examples/APG/Threads/Guards.cpp b/examples/APG/Threads/Guards.cpp
deleted file mode 100644
index 7ef23e1e4da..00000000000
--- a/examples/APG/Threads/Guards.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-// $Id$
-#include "ace/config-lite.h"
-#if defined (ACE_HAS_THREADS)
-
-#include "ace/OS_main.h"
-#include "ace/OS_Memory.h"
-#include "ace/Guard_T.h"
-#include "ace/Log_Msg.h"
-#include "ace/Thread_Mutex.h"
-
-// This file exists primarily to get code into the book to show different
-// ways to do the same thing. For complete context and explanation, please
-// see APG chapter 12.
-
-class HA_Device_Repository {
-public:
- int update_device (int device_id);
-
-private:
- ACE_Thread_Mutex mutex_;
-};
-
-class Object {
-};
-static Object *object;
-
-#if 0
-// This is less-desired way to do this...
-
-// Listing 1 code/ch12
-int
-HA_Device_Repository::update_device (int device_id)
-{
- this->mutex_.acquire ();
- ACE_DEBUG ((LM_DEBUG, ACE_TEXT ("(%t) Updating device %d\n"),
- device_id));
-
- // Allocate a new object.
- ACE_NEW_RETURN (object, Object, -1);
- // ...
- // Use the object
-
- this->mutex_.release ();
-}
-// Listing 1
-// Listing 2 code/ch12
-int
-HA_Device_Repository::update_device (int device_id)
-{
- // Construct a guard specifying the type of the mutex as
- // a template parameter and passing in the mutex to hold
- // as a parameter.
- ACE_Guard<ACE_Thread_Mutex> guard (this->mutex_);
-
- // This can throw an exception that is not caught here.
- ACE_NEW_RETURN (object, Object, -1);
- // ..
- // Use the object.
- // ..
- // Guard is destroyed, automatically releasing the lock.
-}
-// Listing 2
-#endif /* 0 */
-
-// Listing 3 code/ch12
-int
-HA_Device_Repository::update_device (int /* device_id */)
-{
- ACE_GUARD_RETURN (ACE_Thread_Mutex, mon, mutex_, -1);
-
- ACE_NEW_RETURN (object, Object, -1);
- // Use the object.
- // ...
- return 0;
-}
-// Listing 3
-
-int ACE_TMAIN (int, ACE_TCHAR *[])
-{
- HA_Device_Repository rep;
- rep.update_device (42);
- return 0;
-}
-
-#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 */