summaryrefslogtreecommitdiff
path: root/examples/Threads
diff options
context:
space:
mode:
authorbala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-12-25 15:21:36 +0000
committerbala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795>2001-12-25 15:21:36 +0000
commitcd2ea842ab4ddb41e481ee070412b1a37392978b (patch)
treee7e2fd63b8d4e9900776415d37a56bfd1a282715 /examples/Threads
parent9c039c564a11e1cb2ea057786659ec2eac9069c2 (diff)
downloadATCD-cd2ea842ab4ddb41e481ee070412b1a37392978b.tar.gz
ChangeLogTag: Tue Dec 25 09:07:07 2001 Balachandran Natarajan <bala@cs.wustl.edu>
Diffstat (limited to 'examples/Threads')
-rw-r--r--examples/Threads/TSS_Task.h1
-rw-r--r--examples/Threads/future1.cpp3
-rw-r--r--examples/Threads/future2.cpp4
-rw-r--r--examples/Threads/manual_event.cpp3
-rw-r--r--examples/Threads/reader_writer.cpp3
-rw-r--r--examples/Threads/task_two.cpp33
-rw-r--r--examples/Threads/tss2.cpp7
7 files changed, 36 insertions, 18 deletions
diff --git a/examples/Threads/TSS_Task.h b/examples/Threads/TSS_Task.h
index 6ad9b6d1452..0e0025ae107 100644
--- a/examples/Threads/TSS_Task.h
+++ b/examples/Threads/TSS_Task.h
@@ -22,6 +22,7 @@
#endif /* ACE_LACKS_PRAGMA_ONCE */
#include "ace/Token.h"
+#include "ace/Atomic_Op.h"
class Test_Task
{
diff --git a/examples/Threads/future1.cpp b/examples/Threads/future1.cpp
index 42e6b4c2abe..b4167c79d37 100644
--- a/examples/Threads/future1.cpp
+++ b/examples/Threads/future1.cpp
@@ -25,6 +25,7 @@
#include "ace/Method_Request.h"
#include "ace/Activation_Queue.h"
#include "ace/Auto_Ptr.h"
+#include "ace/Atomic_Op.h"
ACE_RCSID(Threads, future1, "$Id$")
@@ -391,6 +392,7 @@ main (int, ACE_TCHAR *[])
}
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>;
template class ACE_Atomic_Op<ACE_Thread_Mutex, int>;
template class ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>;
template class ACE_Future<const char *>;
@@ -406,6 +408,7 @@ template class ACE_Unbounded_Set<ACE_Future_Observer<u_long> *>;
template class ACE_Unbounded_Set_Iterator<ACE_Future_Observer<const char *> *>;
template class ACE_Unbounded_Set_Iterator<ACE_Future_Observer<u_long> *>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Atomic_Op<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Future<const char *>
diff --git a/examples/Threads/future2.cpp b/examples/Threads/future2.cpp
index ae848c3819f..aa25da40b93 100644
--- a/examples/Threads/future2.cpp
+++ b/examples/Threads/future2.cpp
@@ -33,9 +33,9 @@
#include "ace/Method_Request.h"
#include "ace/Activation_Queue.h"
#include "ace/Auto_Ptr.h"
+#include "ace/Atomic_Op.h"
ACE_RCSID(Threads, future2, "$Id$")
-
#if defined (ACE_HAS_THREADS)
typedef ACE_Atomic_Op<ACE_Thread_Mutex, int> ATOMIC_INT;
@@ -513,6 +513,7 @@ main (int, ACE_TCHAR *[])
}
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>;
template class ACE_Atomic_Op<ACE_Thread_Mutex, int>;
template class ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>;
template class ACE_Future<char *>;
@@ -528,6 +529,7 @@ template class ACE_Unbounded_Set<ACE_Future_Observer<u_long> *>;
template class ACE_Unbounded_Set_Iterator<ACE_Future_Observer<char *> *>;
template class ACE_Unbounded_Set_Iterator<ACE_Future_Observer<u_long> *>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Atomic_Op<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Future<char *>
diff --git a/examples/Threads/manual_event.cpp b/examples/Threads/manual_event.cpp
index cb55c7dd028..4b452d5aaf8 100644
--- a/examples/Threads/manual_event.cpp
+++ b/examples/Threads/manual_event.cpp
@@ -14,6 +14,7 @@
#include "ace/Service_Config.h"
#include "ace/Synch.h"
#include "ace/Thread_Manager.h"
+#include "ace/Atomic_Op.h"
ACE_RCSID(Threads, manual_event, "$Id$")
@@ -101,9 +102,11 @@ main (int argc, ACE_TCHAR **argv)
}
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>;
template class ACE_Atomic_Op<ACE_Thread_Mutex, int>;
template class ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Atomic_Op<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/Threads/reader_writer.cpp b/examples/Threads/reader_writer.cpp
index cd3bdc54b8a..41f20298863 100644
--- a/examples/Threads/reader_writer.cpp
+++ b/examples/Threads/reader_writer.cpp
@@ -7,6 +7,7 @@
#include "ace/Thread.h"
#include "ace/Thread_Manager.h"
#include "ace/Get_Opt.h"
+#include "ace/Atomic_Op.h"
ACE_RCSID(Threads, reader_writer, "$Id$")
@@ -175,12 +176,14 @@ int main (int argc, ACE_TCHAR *argv[])
}
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>;
template class ACE_Atomic_Op<ACE_Thread_Mutex, int>;
template class ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>;
template class ACE_Guard<ACE_RW_Mutex>;
template class ACE_Read_Guard<ACE_RW_Mutex>;
template class ACE_Write_Guard<ACE_RW_Mutex>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Atomic_Op<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Guard<ACE_RW_Mutex>
diff --git a/examples/Threads/task_two.cpp b/examples/Threads/task_two.cpp
index 5b1e04cd962..2e8f3782b69 100644
--- a/examples/Threads/task_two.cpp
+++ b/examples/Threads/task_two.cpp
@@ -8,6 +8,7 @@
#include "ace/Service_Config.h"
#include "ace/Synch.h"
+#include "ace/Atomic_Op.h"
ACE_RCSID(Threads, task_two, "$Id$")
@@ -48,7 +49,7 @@ Task_Test::open (void *)
task_count++;
ACE_DEBUG ((LM_DEBUG, "(%t) creating Task_Test, task count = %d\n",
- task_count.value ()));
+ task_count.value ()));
return this->activate (THR_BOUND);
}
@@ -60,7 +61,7 @@ Task_Test::close (u_long)
task_count--;
ACE_DEBUG ((LM_DEBUG, "(%t) destroying Task_Test, task count = %d\n",
- task_count.value ()));
+ task_count.value ()));
wait_count--;
return 0;
}
@@ -94,40 +95,40 @@ main (int argc, ACE_TCHAR *argv[])
for (int i = 1; i <= n_iterations; i++)
{
ACE_DEBUG ((LM_DEBUG, "(%t) iteration = %d, max_count %d\n",
- i, max_count.value ()));
+ i, max_count.value ()));
max_count = 0;
ACE_DEBUG ((LM_DEBUG, "(%t) starting %d task%s\n",
- n_threads, n_threads == 1 ? "" : "s"));
+ n_threads, n_threads == 1 ? "" : "s"));
// Launch the new tasks.
for (int j = 0; j < n_threads; j++)
- {
- task_array[j] = new Task_Test;
- // Activate the task, i.e., make it an active object.
- task_array[j]->open ();
- }
+ {
+ task_array[j] = new Task_Test;
+ // Activate the task, i.e., make it an active object.
+ task_array[j]->open ();
+ }
// Wait for initialization to kick in.
while (max_count == 0)
- ACE_Thread::yield ();
+ ACE_Thread::yield ();
ACE_DEBUG ((LM_DEBUG, "(%t) waiting for threads to finish\n"));
// Wait for the threads to finish this iteration.
while (max_count != n_threads && wait_count != 0)
- ACE_Thread::yield ();
+ ACE_Thread::yield ();
ACE_DEBUG ((LM_DEBUG,
- "(%t) iteration %d finished, max_count %d, wait_count %d, waiting for tasks to exit\n",
- i, max_count.value (), wait_count.value ()));
+ "(%t) iteration %d finished, max_count %d, wait_count %d, waiting for tasks to exit\n",
+ i, max_count.value (), wait_count.value ()));
// Wait for all the tasks to exit.
- ACE_Thread_Manager::instance ()->wait ();
+ ACE_Thread_Manager::instance ()->wait ();
// Delete the existing tasks.
for (int k = 0; k < n_threads; k++)
- delete task_array[k];
+ delete task_array[k];
}
delete [] task_array;
@@ -137,9 +138,11 @@ main (int argc, ACE_TCHAR *argv[])
}
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
+template class ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>;
template class ACE_Atomic_Op<ACE_Thread_Mutex, int>;
template class ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Atomic_Op<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>
#endif /* ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION */
diff --git a/examples/Threads/tss2.cpp b/examples/Threads/tss2.cpp
index c72bc1b8fb8..38cca024ff0 100644
--- a/examples/Threads/tss2.cpp
+++ b/examples/Threads/tss2.cpp
@@ -19,6 +19,7 @@
#include "ace/Thread.h"
#include "ace/Log_Msg.h"
+#include "ace/Atomic_Op.h"
#include "TSS_Data.h"
#include "TSS_Obj.h"
#include "TSS_Task.h"
@@ -173,16 +174,18 @@ main (int argc, ACE_TCHAR *argv[])
}
#if defined (ACE_HAS_EXPLICIT_TEMPLATE_INSTANTIATION)
-template class ACE_Atomic_Op<ACE_Thread_Mutex, int>;
template class ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>;
-template class ACE_Atomic_Op<ACE_Token, int>;
+template class ACE_Atomic_Op<ACE_Thread_Mutex, int>;
template class ACE_Atomic_Op_Ex<ACE_Token, int>;
+template class ACE_Atomic_Op<ACE_Token, int>;
template class ACE_Guard<ACE_Token>;
template class ACE_TSS<TSS_Data>;
template class ACE_TSS<TSS_Obj>;
template class ACE_TSS_Singleton<TSS_Data, ACE_SYNCH_MUTEX>;
#elif defined (ACE_HAS_TEMPLATE_INSTANTIATION_PRAGMA)
+#pragma instantiate ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Atomic_Op<ACE_Thread_Mutex, int>
+#pragma instantiate ACE_Atomic_Op_Ex<ACE_Token, int>
#pragma instantiate ACE_Atomic_Op_Ex<ACE_Thread_Mutex, int>
#pragma instantiate ACE_Atomic_Op<ACE_Token, int>
#pragma instantiate ACE_Atomic_Op_Ex<ACE_Token, int>