diff options
author | bala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-12-25 15:21:36 +0000 |
---|---|---|
committer | bala <bala@ae88bc3d-4319-0410-8dbf-d08b4c9d3795> | 2001-12-25 15:21:36 +0000 |
commit | cd2ea842ab4ddb41e481ee070412b1a37392978b (patch) | |
tree | e7e2fd63b8d4e9900776415d37a56bfd1a282715 /examples/Threads | |
parent | 9c039c564a11e1cb2ea057786659ec2eac9069c2 (diff) | |
download | ATCD-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.h | 1 | ||||
-rw-r--r-- | examples/Threads/future1.cpp | 3 | ||||
-rw-r--r-- | examples/Threads/future2.cpp | 4 | ||||
-rw-r--r-- | examples/Threads/manual_event.cpp | 3 | ||||
-rw-r--r-- | examples/Threads/reader_writer.cpp | 3 | ||||
-rw-r--r-- | examples/Threads/task_two.cpp | 33 | ||||
-rw-r--r-- | examples/Threads/tss2.cpp | 7 |
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> |