Open file for reading as non block

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:in `open'
        from (irb):58
        from :heart::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:in `open'
        from (irb):59
        from :heart::0
irb(main):060:0> File.open(fi,"r" ){|f| c=f.read}
=> "test"
irb(main):061: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

···

2008/10/5 Junkone <junkone1@gmail.com>:

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:in `open'
       from (irb):58
       from :heart::0

--
remember.guy do |as, often| as.you_can - without end