This commit is contained in:
Glenn Maynard
2006-07-26 23:30:30 +00:00
parent 32e4125b2e
commit 65a4ef51d8
+16 -16
View File
@@ -10,7 +10,7 @@
#include "archutils/Unix/LinuxThreadHelpers.h" #include "archutils/Unix/LinuxThreadHelpers.h"
/* These are volatile, so writes to them aren't optimized. */ /* These are volatile, so writes to them aren't optimized. */
volatile int g_ThreadId = -1; volatile uint64_t g_ThreadId = (uint64_t) -1;
volatile int g_Counter = 0; volatile int g_Counter = 0;
volatile bool g_Finish = false; volatile bool g_Finish = false;
@@ -30,7 +30,7 @@ int TestSuspendThread( void *p )
return 0; return 0;
} }
void test_suspend_threadid( int ThreadId ) void test_suspend_threadid( uint64_t ThreadId )
{ {
/* Wait for g_Counter to increment a bit. */ /* Wait for g_Counter to increment a bit. */
usleep( 100000 ); usleep( 100000 );
@@ -73,13 +73,13 @@ void test_suspend_threadid( int ThreadId )
void test_suspend_secondary_thread() void test_suspend_secondary_thread()
{ {
ASSERT( !g_Finish ); ASSERT( !g_Finish );
ASSERT( g_ThreadId == -1 ); ASSERT( g_ThreadId == (uint64_t) -1 );
RageThread testing; RageThread testing;
testing.SetName( "TestSuspend" ); testing.SetName( "TestSuspend" );
testing.Create( TestSuspendThread, NULL ); testing.Create( TestSuspendThread, NULL );
while( g_ThreadId == -1 ) while( g_ThreadId == (uint64_t) -1 )
; ;
test_suspend_threadid( g_ThreadId ); test_suspend_threadid( g_ThreadId );
@@ -87,7 +87,7 @@ void test_suspend_secondary_thread()
g_Finish = true; g_Finish = true;
testing.Wait(); testing.Wait();
g_Finish = false; g_Finish = false;
g_ThreadId = -1; g_ThreadId = (uint64_t) -1;
} }
int TestSuspendMainThread( void *p ) int TestSuspendMainThread( void *p )
@@ -96,7 +96,7 @@ int TestSuspendMainThread( void *p )
printf("Test thread started\n"); printf("Test thread started\n");
ASSERT( g_ThreadId != -1 ); ASSERT( g_ThreadId != (uint64_t) -1 );
test_suspend_threadid( g_ThreadId ); test_suspend_threadid( g_ThreadId );
g_Finish = true; g_Finish = true;
@@ -107,7 +107,7 @@ int TestSuspendMainThread( void *p )
void test_suspend_main_thread() void test_suspend_main_thread()
{ {
ASSERT( !g_Finish ); ASSERT( !g_Finish );
ASSERT( g_ThreadId == -1 ); ASSERT( g_ThreadId == (uint64_t) -1 );
g_ThreadId = GetCurrentThreadId(); g_ThreadId = GetCurrentThreadId();
@@ -119,7 +119,7 @@ void test_suspend_main_thread()
testing.Wait(); testing.Wait();
g_Finish = false; g_Finish = false;
g_ThreadId = -1; g_ThreadId = (uint64_t) -1;
} }
/* Run a second function, so we have two symbols to search for. */ /* Run a second function, so we have two symbols to search for. */
@@ -177,7 +177,7 @@ void test_backtracing_secondary_thread()
testing.SetName( "TestBacktrace" ); testing.SetName( "TestBacktrace" );
testing.Create( TestBacktraceThread, NULL ); testing.Create( TestBacktraceThread, NULL );
while( g_ThreadId == -1 ) while( g_ThreadId == (uint64_t) -1 )
; ;
if( !test_thread_backtrace( g_ThreadId, (void *) TestBacktraceThread, (void *) TestBacktraceThreadLoop ) ) if( !test_thread_backtrace( g_ThreadId, (void *) TestBacktraceThread, (void *) TestBacktraceThreadLoop ) )
@@ -189,14 +189,14 @@ void test_backtracing_secondary_thread()
g_Finish = true; g_Finish = true;
testing.Wait(); testing.Wait();
g_Finish = false; g_Finish = false;
g_ThreadId = -1; g_ThreadId = (uint64_t) -1;
} }
int TestBacktraceMainThread( void *p ) int TestBacktraceMainThread( void *p )
{ {
printf("Test thread started\n"); printf("Test thread started\n");
while( g_ThreadId == -1 ) while( g_ThreadId == (uint64_t) -1 )
; ;
if( !test_thread_backtrace( g_ThreadId, (void *) TestBacktraceThread, (void *) TestBacktraceThreadLoop ) ) if( !test_thread_backtrace( g_ThreadId, (void *) TestBacktraceThread, (void *) TestBacktraceThreadLoop ) )
@@ -213,7 +213,7 @@ int TestBacktraceMainThread( void *p )
void test_backtracing_main_thread() void test_backtracing_main_thread()
{ {
ASSERT( !g_Finish ); ASSERT( !g_Finish );
ASSERT( g_ThreadId == -1 ); ASSERT( g_ThreadId == (uint64_t) -1 );
RageThread testing; RageThread testing;
testing.SetName( "TestBacktrace" ); testing.SetName( "TestBacktrace" );
@@ -223,7 +223,7 @@ void test_backtracing_main_thread()
testing.Wait(); testing.Wait();
g_Finish = false; g_Finish = false;
g_ThreadId = -1; g_ThreadId = (uint64_t) -1;
} }
static RageMutex g_Mutex("test"); static RageMutex g_Mutex("test");
@@ -247,13 +247,13 @@ int TestLocksThread( void *p )
void test_locks() void test_locks()
{ {
ASSERT( !g_Finish ); ASSERT( !g_Finish );
ASSERT( g_ThreadId == -1 ); ASSERT( g_ThreadId == (uint64_t) -1 );
RageThread testing; RageThread testing;
testing.SetName( "TestLocks" ); testing.SetName( "TestLocks" );
testing.Create( TestLocksThread, NULL ); testing.Create( TestLocksThread, NULL );
while( g_ThreadId == -1 ) while( g_ThreadId == (uint64_t) -1 )
; ;
/* Stop the thread. */ /* Stop the thread. */
@@ -276,7 +276,7 @@ void test_locks()
g_Finish = true; g_Finish = true;
testing.Wait(); testing.Wait();
g_Finish = false; g_Finish = false;
g_ThreadId = -1; g_ThreadId = (uint64_t) -1;
} }
void go() void go()