Description of Problem: Sad but true. Sox 12.17.1, as supplied with RedHat 7.1 can't record correctly. This means the "rec" command is broken also. Also broken are the many programs that use sox as a backend. How Reproducible: Totally. Steps to Reproduce: 1. "rec test.wav" 2. Try to press control-C 3. Nothing happens 4. Use "rec -r 44100 -s w test.wav" to force a 16 bit CD quality recording, in case the above does not hang for you. 12.17.2 hangs on both versions. 12.17.1 seems to only hang on the second. Additional Information: Chris Bagwell <cbagwell> has already been notified, and has fixed the problem as of the next release after 12.17.2. He says: "Just tracked down that problem and spent a few hours rewriting the reading functions in raw.c to fix it and prevent future bugs in the same area from creeping in. Its in CVS."
It will be a month or two before I can test sox 12.17.2 (or 12.18) enough to make a release. I believe the following will also work as a valid solution until the next release. You may wish to add this to your distributed version. Edit the file raw.c in sox, find the function blockr(), look for ft->file.eof = (ft->fcount < n); change the "=" to a "|=".
Will be fixed in 12.17.1-4; thanks!