Open file for reading as non block


#1

how do i open the file for reading as non blocking mode. as you can
see the first 2 attempts do not work.

irb(main):058:0> File.open(fi,File::NONBLOCK + File::RDONLY){|f|
c=f.read}
IOError: not opened for reading
from (irb):58:in read' from (irb):58 from (irb):58:inopen’
from (irb):58
from ¢¾:0
irb(main):059:0> File.open(fi,File::NONBLOCK ){|f| c=f.read}
IOError: not opened for reading
from (irb):59:in read' from (irb):59 from (irb):59:inopen’
from (irb):59
from ¢¾:0
irb(main):060:0> File.open(fi,“r” ){|f| c=f.read}
=> “test”
irb(main):061:0>


#2

2008/10/5 Junkone removed_email_address@domain.invalid:

   from ¢¾:0

Works for me:

irb(main):006:0> File.open(“environment”, File::RDONLY |
File::NONBLOCK) {|io| io.read}.size
=> 4398

IMHO “|” is better than “+” because it expresses more clearly that
this is about bit masks.

Btw, what do you expect from opening a file nonblocking? Is there any
other process writing to it?

Cheers

robert