# HG changeset patch # User Sam Lantinga # Date 1255929888 0 # Node ID e48a66bed0934e77a72fa5e6eb94dee096c5aa75 # Parent 991e4bcfc7a8a99d9a2876c8ea63e37faec70589 ALSA write failed (unrecoverable): Resource temporarily unavailable diff -r 991e4bcfc7a8 -r e48a66bed093 src/audio/alsa/SDL_alsa_audio.c --- a/src/audio/alsa/SDL_alsa_audio.c Mon Oct 19 05:15:21 2009 +0000 +++ b/src/audio/alsa/SDL_alsa_audio.c Mon Oct 19 05:24:48 2009 +0000 @@ -314,6 +314,11 @@ while ( frames_left > 0 && this->enabled ) { status = SDL_NAME(snd_pcm_writei)(pcm_handle, sample_buf, frames_left); if ( status < 0 ) { + if ( status == -EAGAIN ) { + /* Apparently snd_pcm_recover() doesn't handle this. Foo. */ + SDL_Delay(1); + continue; + } status = SDL_NAME(snd_pcm_recover)(pcm_handle, status, 0); if ( status < 0 ) { /* Hmm, not much we can do - abort */