testerror.c
资源名称:NETVIDEO.rar [点击查看]
上传用户:sun1608
上传日期:2007-02-02
资源大小:6116k
文件大小:1k
源码类别:
流媒体/Mpeg4/MP4
开发平台:
Visual C++
- /* Simple test of the SDL threading code and error handling */
- #include <stdio.h>
- #include <stdlib.h>
- #include <signal.h>
- #include "SDL.h"
- #include "SDL_thread.h"
- static int alive = 0;
- int ThreadFunc(void *data)
- {
- /* Set the child thread error string */
- SDL_SetError("Thread %s (%d) had a problem: %s",
- (char *)data, SDL_ThreadID(), "nevermind");
- while ( alive ) {
- printf("Thread '%s' is alive!n", (char *)data);
- SDL_Delay(1*1000);
- }
- printf("Child thread error string: %sn", SDL_GetError());
- return(0);
- }
- int main(int argc, char *argv[])
- {
- SDL_Thread *thread;
- /* Load the SDL library */
- if ( SDL_Init(0) < 0 ) {
- fprintf(stderr, "Couldn't initialize SDL: %sn",SDL_GetError());
- exit(1);
- }
- atexit(SDL_Quit);
- /* Set the error value for the main thread */
- SDL_SetError("No worries");
- alive = 1;
- thread = SDL_CreateThread(ThreadFunc, "#1");
- if ( thread == NULL ) {
- fprintf(stderr, "Couldn't create thread: %sn", SDL_GetError());
- exit(1);
- }
- SDL_Delay(5*1000);
- printf("Waiting for thread #1n");
- alive = 0;
- SDL_WaitThread(thread, NULL);
- printf("Main thread error string: %sn", SDL_GetError());
- return(0);
- }