Mercurial > ecos-v3_0-branch
diff packages/kernel/current/tests/thread2.cxx @ 177:4c750ce71ae3
Merge from eCos master repository on 2001-08-10-19:22:57-BST
| author | jlarmour |
|---|---|
| date | Fri, 10 Aug 2001 19:27:55 +0000 |
| parents | 0ae0bc38e387 |
| children | e0c0827131d1 |
line wrap: on
line diff
--- a/packages/kernel/current/tests/thread2.cxx +++ b/packages/kernel/current/tests/thread2.cxx @@ -54,6 +54,7 @@ // CYGSEM_KERNEL_SCHED_BITMAP // CYGSEM_KERNEL_SCHED_MLQUEUE //####DESCRIPTIONEND#### +//========================================================================== #include <pkgconf/kernel.h> @@ -67,9 +68,12 @@ #include <cyg/kernel/sched.inl> -#ifndef CYGIMP_THREAD_PRIORITY -#error "Test requires thread priorities" -#endif +// ------------------------------------------------------------------------ + +#if defined(CYGIMP_THREAD_PRIORITY) && \ + !defined(CYGPKG_KERNEL_SMP_SUPPORT) + +// ------------------------------------------------------------------------ static Cyg_Counting_Semaphore s0, s1, s2; @@ -80,6 +84,8 @@ static Cyg_Thread *thread0, *thread1, *t #define NTHREADS 3 #include "testaux.hxx" +// ------------------------------------------------------------------------ + static void entry0( CYG_ADDRWORD data ) { CHECK( 0 == q++ ); @@ -92,6 +98,8 @@ static void entry0( CYG_ADDRWORD data ) CYG_TEST_PASS_FINISH("Thread 2 OK"); } +// ------------------------------------------------------------------------ + static void entry1( CYG_ADDRWORD data ) { CHECK( 1 == q++ ); @@ -124,6 +132,8 @@ static void entry1( CYG_ADDRWORD data ) s1.wait(); } +// ------------------------------------------------------------------------ + static void entry2( CYG_ADDRWORD data ) { CHECK( 2 == q++ ); @@ -153,6 +163,8 @@ static void entry2( CYG_ADDRWORD data ) } +// ------------------------------------------------------------------------ + void thread2_main( void ) { CYG_TEST_INIT(); @@ -180,6 +192,8 @@ void thread2_main( void ) CYG_TEST_FAIL_FINISH("Unresolved"); } +// ------------------------------------------------------------------------ + externC void cyg_start( void ) { @@ -188,5 +202,26 @@ cyg_start( void ) #endif thread2_main(); } +// ------------------------------------------------------------------------ + +#else // CYGPKG_KERNEL_SMP_SUPPORT etc + +// ------------------------------------------------------------------------ + +externC void +cyg_start( void ) +{ + CYG_TEST_INIT(); + CYG_TEST_PASS_FINISH("Thread2 test requires:\n" + "defined(CYGIMP_THREAD_PRIORITY) &&\n" + "!defined(CYGPKG_KERNEL_SMP_SUPPORT)\n"); + +} + +// ------------------------------------------------------------------------ + +#endif // CYGPKG_KERNEL_SMP_SUPPORT etc + +// ------------------------------------------------------------------------ // EOF thread2.cxx
