Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Might have fixed 64-bit issues. :)
- Loading branch information
Showing
with
8 additions
and
6 deletions.
-
+6
−4
test/testsem.c
-
+2
−2
test/torturethread.c
|
@@ -15,15 +15,16 @@ int alive = 1; |
|
|
|
|
|
int ThreadFunc(void *data) |
|
|
{ |
|
|
uintptr_t threadnum = (uintptr_t)data; |
|
|
while ( alive ) { |
|
|
SDL_SemWait(sem); |
|
|
fprintf(stderr, "Thread number %d has got the semaphore (value = %d)!\n", (int)data, SDL_SemValue(sem)); |
|
|
fprintf(stderr, "Thread number %d has got the semaphore (value = %d)!\n", threadnum, SDL_SemValue(sem)); |
|
|
SDL_Delay(200); |
|
|
SDL_SemPost(sem); |
|
|
fprintf(stderr, "Thread number %d has released the semaphore (value = %d)!\n", (int)data, SDL_SemValue(sem)); |
|
|
fprintf(stderr, "Thread number %d has released the semaphore (value = %d)!\n", threadnum, SDL_SemValue(sem)); |
|
|
SDL_Delay(1); /* For the scheduler */ |
|
|
} |
|
|
printf("Thread number %d exiting.\n", (int)data); |
|
|
printf("Thread number %d exiting.\n", threadnum); |
|
|
return 0; |
|
|
} |
|
|
|
|
@@ -35,7 +36,8 @@ static void killed(int sig) |
|
|
int main(int argc, char **argv) |
|
|
{ |
|
|
SDL_Thread *threads[NUM_THREADS]; |
|
|
int i, init_sem; |
|
|
uintptr_t i; |
|
|
int init_sem; |
|
|
|
|
|
if(argc < 2) { |
|
|
fprintf(stderr,"Usage: %s init_value\n", argv[0]); |
|
|
|
@@ -31,7 +31,7 @@ int ThreadFunc(void *data) { |
|
|
SDL_Thread *sub_threads[NUMTHREADS]; |
|
|
int flags[NUMTHREADS]; |
|
|
int i; |
|
|
int tid = (int ) data; |
|
|
uintptr_t tid = (uintptr_t)data; |
|
|
|
|
|
fprintf(stderr, "Creating Thread %d\n", tid); |
|
|
|
|
@@ -59,7 +59,7 @@ int ThreadFunc(void *data) { |
|
|
int main(int argc, char *argv[]) |
|
|
{ |
|
|
SDL_Thread *threads[NUMTHREADS]; |
|
|
int i; |
|
|
uintptr_t i; |
|
|
|
|
|
/* Load the SDL library */ |
|
|
if ( SDL_Init(0) < 0 ) { |
|
|