Mercurial > sdl-ios-xcode
view test/nds-test-progs/sprite2/source/common.h @ 3068:b21348d47cab
Fixed bug #633
Description From Michael Stone 2008-09-25 19:27:29 (-) [reply]
To determine whether a pid is occupied with the kill(pid, 0) idiom, you have to
test
#include <signal.h>
#include <errno.h>
kill(pid, 0) < 0 && errno == ESRCH
not just
#include <signal.h>
kill(pid, 0) < 0
otherwise you get incorrect results when pid is running as a different user
(causing kill(pid, 0) to return -1 + EPERM).
src/audio/alsa/SDL_alsa_audio.c is certainly affected by this bug in both
1.2.13 and 1.3-trunk. It probably occurs in other places as well.
author | Sam Lantinga <slouken@libsdl.org> |
---|---|
date | Tue, 17 Feb 2009 05:17:51 +0000 |
parents | 204be4fc2726 |
children |
line wrap: on
line source
/* A simple test program framework */ #include <SDL/SDL.h> #define VERBOSE_VIDEO 0x00000001 #define VERBOSE_MODES 0x00000002 #define VERBOSE_RENDER 0x00000004 #define VERBOSE_EVENT 0x00000008 #define VERBOSE_AUDIO 0x00000010 typedef struct { /* SDL init flags */ char **argv; Uint32 flags; Uint32 verbose; /* Video info */ const char *videodriver; int display; const char *window_title; Uint32 window_flags; int window_x; int window_y; int window_w; int window_h; int depth; int refresh_rate; int num_windows; SDL_WindowID *windows; /* Renderer info */ const char *renderdriver; Uint32 render_flags; SDL_bool skip_renderer; /* Audio info */ const char *audiodriver; SDL_AudioSpec audiospec; } CommonState; extern CommonState *CommonCreateState(char **argv, Uint32 flags); extern int CommonArg(CommonState * state, int index); extern const char *CommonUsage(CommonState * state); extern SDL_bool CommonInit(CommonState * state); extern void CommonEvent(CommonState * state, SDL_Event * event, int *done); extern void CommonQuit(CommonState * state);