[Issue 7831] New: Unlisted @@@BUG in File.detach causes FILE* leaks when reopening

d-bugmail at puremagic.com d-bugmail at puremagic.com
Thu Apr 5 11:54:59 PDT 2012


http://d.puremagic.com/issues/show_bug.cgi?id=7831

           Summary: Unlisted @@@BUG in File.detach causes FILE* leaks when
                    reopening
           Product: D
           Version: D2
          Platform: All
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Phobos
        AssignedTo: nobody at puremagic.com
        ReportedBy: thecybershadow at gmail.com


--- Comment #0 from Vladimir Panteleev <thecybershadow at gmail.com> 2012-04-05 11:55:36 PDT ---
This is a variant of bug 3424.

import std.file, std.stdio;

void main() {
    std.file.write("foo.txt", "stuff");
    File f;
    foreach(i; 0..1_000_000) {
        f.open("foo.txt");  // Throws too many files error rather quickly.
    }
}


The relevant part of std.stdio (line 378):

/**
Detaches from the underlying file. If the sole owner, calls $(D close)
and throws if that fails.
  */
    void detach()
    {
        if (!p) return;
        // @@@BUG
        //if (p.refs == 1) close();
        p = null;
    }

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------


More information about the Digitalmars-d-bugs mailing list