#if Rik Hemsley
> Some kind of clash between readline and IO.pipe/select ?

BTW, I worked around it by using separate processes. Once I realised
that it wasn't using native threads, I decided this was going to have to
be done using processes anyway, as if one thread is blocked for too
long, it causes problems (stuttering audio output.)

That's unless Ruby's threads are pre-emptive, which I doubt :)

Rik