Mercurial > sdl-ios-xcode
comparison test/testsem.c @ 1668:4da1ee79c9af SDL-1.3
more tweaking indent options
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 29 May 2006 04:04:35 +0000 |
parents | 782fd950bd46 |
children |
comparison
equal
deleted
inserted
replaced
1667:1fddae038bc8 | 1668:4da1ee79c9af |
---|---|
12 | 12 |
13 static SDL_sem *sem; | 13 static SDL_sem *sem; |
14 int alive = 1; | 14 int alive = 1; |
15 | 15 |
16 int SDLCALL | 16 int SDLCALL |
17 ThreadFunc (void *data) | 17 ThreadFunc(void *data) |
18 { | 18 { |
19 int threadnum = (int) (uintptr_t) data; | 19 int threadnum = (int) (uintptr_t) data; |
20 while (alive) { | 20 while (alive) { |
21 SDL_SemWait (sem); | 21 SDL_SemWait(sem); |
22 fprintf (stderr, | 22 fprintf(stderr, |
23 "Thread number %d has got the semaphore (value = %d)!\n", | 23 "Thread number %d has got the semaphore (value = %d)!\n", |
24 threadnum, SDL_SemValue (sem)); | 24 threadnum, SDL_SemValue(sem)); |
25 SDL_Delay (200); | 25 SDL_Delay(200); |
26 SDL_SemPost (sem); | 26 SDL_SemPost(sem); |
27 fprintf (stderr, | 27 fprintf(stderr, |
28 "Thread number %d has released the semaphore (value = %d)!\n", | 28 "Thread number %d has released the semaphore (value = %d)!\n", |
29 threadnum, SDL_SemValue (sem)); | 29 threadnum, SDL_SemValue(sem)); |
30 SDL_Delay (1); /* For the scheduler */ | 30 SDL_Delay(1); /* For the scheduler */ |
31 } | 31 } |
32 printf ("Thread number %d exiting.\n", threadnum); | 32 printf("Thread number %d exiting.\n", threadnum); |
33 return 0; | 33 return 0; |
34 } | 34 } |
35 | 35 |
36 static void | 36 static void |
37 killed (int sig) | 37 killed(int sig) |
38 { | 38 { |
39 alive = 0; | 39 alive = 0; |
40 } | 40 } |
41 | 41 |
42 int | 42 int |
43 main (int argc, char **argv) | 43 main(int argc, char **argv) |
44 { | 44 { |
45 SDL_Thread *threads[NUM_THREADS]; | 45 SDL_Thread *threads[NUM_THREADS]; |
46 uintptr_t i; | 46 uintptr_t i; |
47 int init_sem; | 47 int init_sem; |
48 | 48 |
49 if (argc < 2) { | 49 if (argc < 2) { |
50 fprintf (stderr, "Usage: %s init_value\n", argv[0]); | 50 fprintf(stderr, "Usage: %s init_value\n", argv[0]); |
51 return (1); | 51 return (1); |
52 } | 52 } |
53 | 53 |
54 /* Load the SDL library */ | 54 /* Load the SDL library */ |
55 if (SDL_Init (0) < 0) { | 55 if (SDL_Init(0) < 0) { |
56 fprintf (stderr, "Couldn't initialize SDL: %s\n", SDL_GetError ()); | 56 fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError()); |
57 return (1); | 57 return (1); |
58 } | 58 } |
59 signal (SIGTERM, killed); | 59 signal(SIGTERM, killed); |
60 signal (SIGINT, killed); | 60 signal(SIGINT, killed); |
61 | 61 |
62 init_sem = atoi (argv[1]); | 62 init_sem = atoi(argv[1]); |
63 sem = SDL_CreateSemaphore (init_sem); | 63 sem = SDL_CreateSemaphore(init_sem); |
64 | 64 |
65 printf ("Running %d threads, semaphore value = %d\n", NUM_THREADS, | 65 printf("Running %d threads, semaphore value = %d\n", NUM_THREADS, |
66 init_sem); | 66 init_sem); |
67 /* Create all the threads */ | 67 /* Create all the threads */ |
68 for (i = 0; i < NUM_THREADS; ++i) { | 68 for (i = 0; i < NUM_THREADS; ++i) { |
69 threads[i] = SDL_CreateThread (ThreadFunc, (void *) i); | 69 threads[i] = SDL_CreateThread(ThreadFunc, (void *) i); |
70 } | 70 } |
71 | 71 |
72 /* Wait 10 seconds */ | 72 /* Wait 10 seconds */ |
73 SDL_Delay (10 * 1000); | 73 SDL_Delay(10 * 1000); |
74 | 74 |
75 /* Wait for all threads to finish */ | 75 /* Wait for all threads to finish */ |
76 printf ("Waiting for threads to finish\n"); | 76 printf("Waiting for threads to finish\n"); |
77 alive = 0; | 77 alive = 0; |
78 for (i = 0; i < NUM_THREADS; ++i) { | 78 for (i = 0; i < NUM_THREADS; ++i) { |
79 SDL_WaitThread (threads[i], NULL); | 79 SDL_WaitThread(threads[i], NULL); |
80 } | 80 } |
81 printf ("Finished waiting for threads\n"); | 81 printf("Finished waiting for threads\n"); |
82 | 82 |
83 SDL_DestroySemaphore (sem); | 83 SDL_DestroySemaphore(sem); |
84 SDL_Quit (); | 84 SDL_Quit(); |
85 return (0); | 85 return (0); |
86 } | 86 } |