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