Mercurial > sdl-ios-xcode
view test/testhread.c @ 663:8bedd6d61642
Date: Sat, 2 Aug 2003 16:22:51 +0300
From: "Mike Gorchak"
Subject: New patches for QNX6
Here my patches for the SDL/QNX:
QNXSDL.diff - diff to non-QNX related sources:
- updated BUGS file, I think QNX6 is now will be officially supported
- configure.in - added shared library support for QNX, and removed dependency between the ALSA and QNX6.
- SDL_audio.c - added QNX NTO sound bootstrap insted of ALSA's.
- SDL_sysaudio.h - the same.
- SDL_nto_audio.c - the same.
- SDL_video.c - right now, QNX doesn't offer any method to obtain pointers to the OpenGL functions by function name, so they must be hardcoded in library, otherwise OpenGL will not be supported.
- testsprite.c - fixed: do not draw vertical red line if we are in non-double-buffered mode.
sdlqnxph.tar.gz - archive of the ./src/video/photon/* . Too many changes in code to make diffs :) :
+ Added stub for support hide/unhide window event
+ Added full YUV overlays support.
+ Added window maximize support.
+ Added mouse wheel events.
+ Added support for some specific key codes in Unicode mode (like ESC).
+ Added more checks to the all memory allocation code.
+ Added SDL_DOUBLEBUF support in all fullscreen modes.
+ Added fallback to window mode, if desired fullscreen mode is not supported.
+ Added stub support for the GL_LoadLibrary and GL_GetProcAddress functions.
+ Added resizable window support without caption.
! Fixed bug in the Ph_EV_EXPOSE event handler, when rectangles to update is 0 and when width or height of the rectangle is 0.
! Fixed bug in the event handler code. Events has not been passed to the window widget handler.
! Fixed codes for Win keys (Super/Hyper/Menu).
! Fixed memory leak, when deallocation palette.
! Fixed palette emulation code bugs.
! Fixed fullscreen and hwsurface handling.
! Fixed CLOSE button bug. First event was passed to the handler, but second terminated the application. Now all events passed to the application correctly.
- Removed all printfs in code, now SDL_SetError used instead of them.
- Disabled ToggleFullScreen function.
README.QNX - updated README.QNX file. Added much more issues.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Mon, 04 Aug 2003 00:52:42 +0000 |
parents | 74212992fb08 |
children | be9c9c8f6d53 |
line wrap: on
line source
/* Simple test of the SDL threading code */ #include <stdio.h> #include <stdlib.h> #include <signal.h> #include "SDL.h" #include "SDL_thread.h" static int alive = 0; int ThreadFunc(void *data) { printf("Started thread %s: My thread id is %u\n", (char *)data, SDL_ThreadID()); while ( alive ) { printf("Thread '%s' is alive!\n", (char *)data); SDL_Delay(1*1000); } printf("Thread '%s' exiting!\n", (char *)data); return(0); } static void killed(int sig) { printf("Killed with SIGTERM, waiting 5 seconds to exit\n"); SDL_Delay(5*1000); alive = 0; exit(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: %s\n",SDL_GetError()); exit(1); } atexit(SDL_Quit); alive = 1; thread = SDL_CreateThread(ThreadFunc, "#1"); if ( thread == NULL ) { fprintf(stderr, "Couldn't create thread: %s\n", SDL_GetError()); exit(1); } SDL_Delay(5*1000); printf("Waiting for thread #1\n"); alive = 0; SDL_WaitThread(thread, NULL); alive = 1; thread = SDL_CreateThread(ThreadFunc, "#2"); if ( thread == NULL ) { fprintf(stderr, "Couldn't create thread: %s\n", SDL_GetError()); exit(1); } SDL_Delay(5*1000); printf("Killing thread #2\n"); SDL_KillThread(thread); alive = 1; signal(SIGTERM, killed); thread = SDL_CreateThread(ThreadFunc, "#3"); if ( thread == NULL ) { fprintf(stderr, "Couldn't create thread: %s\n", SDL_GetError()); exit(1); } raise(SIGTERM); return(0); /* Never reached */ }