[erlang-questions] : efile_drv.c bug?

Raimo Niskanen <>
Tue Jun 17 15:42:04 CEST 2008


On Tue, Jun 17, 2008 at 04:19:41AM -0700, Lev Walkin wrote:
> Jachym Holecek wrote:
> >On Tue, 17 Jun 2008 12:16:52 +0200, Raimo Niskanen  
> ><> wrote:
> >>On Mon, Jun 16, 2008 at 01:10:15PM -0700, Darren New wrote:
> >>>Any idea why Windows (XP/SP2/32bit) can't handle files >4G but Linux can
> >>>with the same release? Is this something expected to get fixed  
> >>>eventually?
> >>If I recall correctly, file pointers (off_t) are signed in Windows
> >>but there are extensions in Unix that use unsigned off_t but
> >>((off_t) -1) as an error return value, so it is possible on
> >>many 32 bit Unixes to have almost 4GByte files, but 32 bit
> >>Windows is stuck with its 2GByte limit.
> >>
> >>Someone correct me!?
> >
> >Upon quick inspection off_t seems to be int64_t on NetBSD and
> >'long int' on Linux. So it's signed on at least two Unices.
> 
> 
> Single Unix Specification version 3, IEEE Std 1003.1
> specifies
> 
> 	blkcnt_t and off_t shall be signed integer types.
> 
> http://www.opengroup.org/onlinepubs/000095399/basedefs/sys/types.h.html

Well, I am certain I have seen a largefile extension with unsigned
32 bit off_t. It was probably Solaris 6 (or 8 or 5).

> 
> 
> -- 
> Lev Walkin
> 

-- 

/ Raimo Niskanen, Erlang/OTP, Ericsson AB



More information about the erlang-questions mailing list