Jonathan Baker <jonathan / alumni.caltech.edu> wrote:

> This brings up the question of what the behavior should be when one
> (accidentally) does this on a 32-bit platform:
> 
>     s = File.open("some_large_file").read

At least when I checked my version of the (more-or-less) same patch, the 
underlying C functions returned errors when opening large files on systems
(or Rubys) that don't support them, that where correctly transformed in to 
the  Ruby Exception .Errno::EBIG Or if you wrote a file beyond 2^31, the 
program would receive a SIGXFSZ and terminate (unless the signal is 
trapped). The same will happen even on a LFS-supporting system and Ruby if 
you access a large file over NFSv2 because NFSv2 doesn't support large 
files. I almost went insane because my test would run in /tmp but not 
inside my $HOME. Using NFSv3 solves this.

I really need to dig out my Rubicon patch to test LFS but the box they were 
on is currently down and I couldn't find anybody to remote control across 
the Eurasian continent to switch it on. Everybody on vacation (including me 
:-)

My test was done on a Linux 2.4 system with glibc 2.2
-- 
        Oliver M. Bolzer
        oliver / gol.com

GPG (PGP) Fingerprint = 621B 52F6 2AC1 36DB 8761  018F 8786 87AD EF50 D1FF