[phobos] Removing std.stdio.File.popen()

David Simcha dsimcha at gmail.com
Mon Aug 16 06:36:12 PDT 2010


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.


More information about the phobos mailing list