Mercurial > sdl-ios-xcode
comparison test/testerror.c @ 0:74212992fb08
Initial revision
author | Sam Lantinga <slouken@lokigames.com> |
---|---|
date | Thu, 26 Apr 2001 16:45:43 +0000 |
parents | |
children | be9c9c8f6d53 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:74212992fb08 |
---|---|
1 | |
2 /* Simple test of the SDL threading code and error handling */ | |
3 | |
4 #include <stdio.h> | |
5 #include <stdlib.h> | |
6 #include <signal.h> | |
7 | |
8 #include "SDL.h" | |
9 #include "SDL_thread.h" | |
10 | |
11 static int alive = 0; | |
12 | |
13 int ThreadFunc(void *data) | |
14 { | |
15 /* Set the child thread error string */ | |
16 SDL_SetError("Thread %s (%d) had a problem: %s", | |
17 (char *)data, SDL_ThreadID(), "nevermind"); | |
18 while ( alive ) { | |
19 printf("Thread '%s' is alive!\n", (char *)data); | |
20 SDL_Delay(1*1000); | |
21 } | |
22 printf("Child thread error string: %s\n", SDL_GetError()); | |
23 return(0); | |
24 } | |
25 | |
26 int main(int argc, char *argv[]) | |
27 { | |
28 SDL_Thread *thread; | |
29 | |
30 /* Load the SDL library */ | |
31 if ( SDL_Init(0) < 0 ) { | |
32 fprintf(stderr, "Couldn't initialize SDL: %s\n",SDL_GetError()); | |
33 exit(1); | |
34 } | |
35 atexit(SDL_Quit); | |
36 | |
37 /* Set the error value for the main thread */ | |
38 SDL_SetError("No worries"); | |
39 | |
40 alive = 1; | |
41 thread = SDL_CreateThread(ThreadFunc, "#1"); | |
42 if ( thread == NULL ) { | |
43 fprintf(stderr, "Couldn't create thread: %s\n", SDL_GetError()); | |
44 exit(1); | |
45 } | |
46 SDL_Delay(5*1000); | |
47 printf("Waiting for thread #1\n"); | |
48 alive = 0; | |
49 SDL_WaitThread(thread, NULL); | |
50 | |
51 printf("Main thread error string: %s\n", SDL_GetError()); | |
52 | |
53 return(0); | |
54 } |