Crash on exit() in DSP_WaitAudio

I noticed a crash that I haven’t seen before. gdb output:

[Switching to Thread 6443]

Program received signal SIGSEGV, Segmentation fault.
0x402254e7 in DSP_WaitAudio (this=0x8058d58) at SDL_dspaudio.c:158
158 FD_SET(audio_fd, &fdset);
(gdb) backtrace
#0 0x402254e7 in DSP_WaitAudio (this=0x8058d58) at SDL_dspaudio.c:158
#1 0x40221ba9 in RunAudio (audiop=0x8058d58) at SDL_audio.c:113
#2 0x40250b58 in SDL_RunThread (data=0x805a718) at SDL_thread.c:149
#3 0x40250e8f in RunThread (data=0x805a718) at SDL_systhread.c:80
#4 0x4041861d in pthread_start_thread (arg=0xbf7ffe60) at manager.c:213
(gdb)

This happens when I exit the app and mod-music is playing, but not always
(though most of the time). I’m doing the following on exit:

atexit(SDL_Quit);

exit(0);

Should I stop the music / all sound effects before exiting?

I’m using SDL_mixer-1.0.4 and the SDL CVS version from today (just
did an update) on Mandrake-7.0 (linux 2.2.14 SMP enabled).

  • Andreas–
    Probably one of the smallest 3D-Games in the world: http://www.gltron.org
    More than 50’000 Downloads of the latest version (0.53)

Should I stop the music / all sound effects before exiting?

Yes.

-Sam Lantinga				(slouken at devolution.com)

Lead Programmer, Loki Entertainment Software–
“Any sufficiently advanced bug is indistinguishable from a feature”
– Rich Kulawiec