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 }