Fixed a bug in libao 0.8.6 ALSA driver
ALSA driver in libao 0.8.6 is buggy. When catching a SIGINT (ctrl-c) during writei() the ALSA framework returns -EINTR. It causes libao to print "ALSA write error: Interrupted system call" and exit() with error. Unfortunately SIGINT is not a terminal condition, and thus it (and other signals) should be handled properly.
Following patch fixes the problem (applies for 0.8.5 too):
http://shd.ton.tut.fi/patches/libao-0.8.6-alsa09-signal-fix.diff
Please apply the patch.