>>>>> "M" == Michael Schuerig <schuerig / acm.org> writes: M> Sounds good, but poses another problem: How to find out the number of M> available bytes? If I call sysread with a number exceeding the number of M> available bytes, it runs into EOF an throws an exception. Unix read(2) M> behaves differently, it only reads at most the number of bytes specified M> and returns the actual number read. #sysread use internally read(2). Just catch IO::EOFError begin s = f.sysread(4); puts "-> Reading" puts s rescue IO::EOFError puts "-> Sleeping" sleep(5) end M> Yes, thanks. I tried to find that thread, but without success. I M> wouldn't be able to read it in japanese anyway... You have a translator, see http://www.ruby-lang.org/en/ml.html#japanlist Guy Decoux