On 8/16/2010 8:29 AM, Lars Tandle Kyllingstad wrote:
Though I agree with you, the fix for the popen-close bug is utterly
simple regardless of whether FILE* is used.  The problem is that it
requires adding more POSIX-only stuff, which I assume we wish to avoid.


Speaking of std.stdio.File and FILE*, I noticed that Phobos actually
does have buffered I/O that doesn't depend on FILE* in std.stream.  I'm
not saying we should keep std.stream, but at least we have something we
could build a native D implementation of std.stdio.File from.

I seem to recall someone (David?) saying it has some bugs with large
files on Linux, but I think that's just a matter of enabling the
kernel's LFS API.  (If I'm not mistaken, it's simply a matter of adding
declarations to enable the kernel's LFS syscalls to druntime, along with
a version() statement to enable or disable them.  Then, people who want
large file support can just compile Phobos with that enabled.

Also, I think FILE* has the same problem...

-Lars

I know std.stdio.File is buggy as anything for >2GB on 32-bit (and also just generally buggy). See bugs 3409, 3410, 3425. I also know std.stream had some, but I never filed them b/c I figured it was going to be deprecated anyhow. IIRC as of about October of last year it would just stop reading after 2GB on Linux.
_______________________________________________
phobos mailing list
[email protected]
http://lists.puremagic.com/mailman/listinfo/phobos

Reply via email to