From 1126121c4139d5474cf46ec920fc1fda40ac90f2 Mon Sep 17 00:00:00 2001 From: Sam Lantinga Date: Mon, 19 Oct 2009 02:36:02 +0000 Subject: [PATCH] Recoomendation from Lennart Poettering: I guess I don't have to mention that, but ALSA_WaitAudio() is pure evil, and just broken. getpid() returns pids, not tids. You get those via gettid(). But I'd recommend dropping that entirely. It's just broken. --- src/audio/alsa/SDL_alsa_audio.c | 15 +-------------- src/audio/alsa/SDL_alsa_audio.h | 4 ---- 2 files changed, 1 insertion(+), 18 deletions(-) diff --git a/src/audio/alsa/SDL_alsa_audio.c b/src/audio/alsa/SDL_alsa_audio.c index ae6e3a16c..c1dfd8353 100644 --- a/src/audio/alsa/SDL_alsa_audio.c +++ b/src/audio/alsa/SDL_alsa_audio.c @@ -251,17 +251,7 @@ AudioBootStrap ALSA_bootstrap = { /* This function waits until it is possible to write a full sound buffer */ static void ALSA_WaitAudio(_THIS) { - /* Check to see if the thread-parent process is still alive */ - { static int cnt = 0; - /* Note that this only works with thread implementations - that use a different process id for each thread. - */ - if (parent && (((++cnt)%10) == 0)) { /* Check every 10 loops */ - if ( kill(parent, 0) < 0 ) { - this->enabled = 0; - } - } - } + /* We're in blocking mode, so there's nothing to do here */ } @@ -601,9 +591,6 @@ static int ALSA_OpenAudio(_THIS, SDL_AudioSpec *spec) } SDL_memset(mixbuf, spec->silence, spec->size); - /* Get the parent process id (we're the parent of the audio thread) */ - parent = getpid(); - /* Switch to blocking mode for playback */ SDL_NAME(snd_pcm_nonblock)(pcm_handle, 0); diff --git a/src/audio/alsa/SDL_alsa_audio.h b/src/audio/alsa/SDL_alsa_audio.h index 0461b0e7e..252f33331 100644 --- a/src/audio/alsa/SDL_alsa_audio.h +++ b/src/audio/alsa/SDL_alsa_audio.h @@ -35,9 +35,6 @@ struct SDL_PrivateAudioData { /* The audio device handle */ snd_pcm_t *pcm_handle; - /* The parent process id, to detect when application quits */ - pid_t parent; - /* Raw mixing buffer */ Uint8 *mixbuf; int mixlen; @@ -45,7 +42,6 @@ struct SDL_PrivateAudioData { /* Old variable names */ #define pcm_handle (this->hidden->pcm_handle) -#define parent (this->hidden->parent) #define mixbuf (this->hidden->mixbuf) #define mixlen (this->hidden->mixlen)