in reply to Blocking filehandle (?)

Uhm, why not use a classical select loop?