>> [...non-blocking stdin vs stdout, with curses...] > The only way I've thought of to work around this is to fork a helper > process [...]
I just realized this is not quite true. Another option is to use newterm() in curses with a funopen()ed stream for output which queues the output to be written (nonblockingly) to the real stdout. That, however, would mean backporting libcurses, because I'd like this to run on my 1.4T as well as 4.0.1 or 5.2, and 1.4T's libcurses has no newterm(). I've started looking at that backport, but it's going to take a while. /~\ The ASCII Mouse \ / Ribbon Campaign X Against HTML mo...@rodents-montreal.org / \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B