Yes, it sounds like a very good idea to get rid of a deliberate sleep in peek(). But it must have been put there for a reason - some digging(*) reveals that it was introduced long ago:
revision 1.109 date: 1998/07/10 18:58:55; author: grubba; state: Exp; lines: +5 -5 Made file_peek() somewhat more paranoid.
As far as I remember it was to avoid bugs in some early implementations of poll(2) and select(2). Note that at the time the patch was done we targetted supporting OSes like Dynix and ULTRIX.
Not the most illuminating message. Maybe Grubba can recall something more about this? Otherwise I suggest we remove the timeout in the next dev branch to let it brew there for a while. It was probably a kludge to work around a bug in some old poll implementation on a strange OS that's no longer used anyway.
Most likely.