The attached diff has my change to aplay.c:capture_go and supporting globals, to implement a two-thread double-buffering approach to capture. I kept having overruns, due apparently to file system lock contention in RedHat 9 (2.4.20-8). The approach is to allocate a 10-second-long buffer (rounded up to a multiple of chunk-size), start a disk-write thread to follow behind the original thread, and if the file system lock causes the write to block for a while, capturing continues unabated. 10 seconds has been sufficient so far; the longest FS lock I could cause was 9.5 seconds. No overruns (with a big enough buffer-size) since this patch has been in use! I release the IP in this patch to the ALSA project for inclusion, should the pertinent community members find it worthwhile. Cheers... Eric Weaver Palo Alto, CA