digitalmars.D.bugs - [Issue 3424] New: Ref counting still doesn't work for std.stdio.File
- d-bugmail puremagic.com Oct 20 2009
- d-bugmail puremagic.com Oct 20 2009
- d-bugmail puremagic.com Oct 20 2009
- d-bugmail puremagic.com Oct 20 2009
- d-bugmail puremagic.com Oct 20 2009
- d-bugmail puremagic.com Oct 20 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3424 Summary: Ref counting still doesn't work for std.stdio.File Product: D Version: 2.035 Platform: Other OS/Version: Windows Status: NEW Severity: critical Priority: P2 Component: Phobos AssignedTo: nobody puremagic.com ReportedBy: dsimcha yahoo.com --- Comment #0 from David Simcha <dsimcha yahoo.com> 2009-10-20 09:22:29 PDT --- If this can't be fixed in short order it should at least be documented so that people don't rely on the ref counting and auto closing. Here's a test case to show it doesn't work. This fails on both Windows and Linux. import std.stdio, std.file; void main() { std.file.write("foo.txt", "stuff"); foreach(i; 0..1_000_000) { openStuff(); // Throws too many files error rather quickly. } } void openStuff() { File myFile = File("foo.txt"); // Not automatically closed. } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 20 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3424 Andrei Alexandrescu <andrei metalanguage.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |andrei metalanguage.com Resolution| |FIXED --- Comment #1 from Andrei Alexandrescu <andrei metalanguage.com> 2009-10-20 13:03:22 PDT --- (In reply to comment #0)If this can't be fixed in short order it should at least be documented so that people don't rely on the ref counting and auto closing. Here's a test case to show it doesn't work. This fails on both Windows and Linux. import std.stdio, std.file; void main() { std.file.write("foo.txt", "stuff"); foreach(i; 0..1_000_000) { openStuff(); // Throws too many files error rather quickly. } } void openStuff() { File myFile = File("foo.txt"); // Not automatically closed. }
I'm glad to report I just fixed this and committed stdio.d. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 20 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3424 Leandro Lucarella <llucax gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |llucax gmail.com --- Comment #2 from Leandro Lucarella <llucax gmail.com> 2009-10-20 17:29:50 PDT --- Your commit, r1300, also removes some opSlice(): -736,10 +740,4 /// Range primitive implementations. - ByLine!(Char, Terminator) opSlice() - { - return this; - } - - /// Ditto bool empty() const { Is this intended? If so, it would be nice if you could apply the changes in two different commits (if they are really unrelated, as I think they are; if not, please ignore this comment :). I'm sorry to say this here I guess it's not the place, but I don't know of a better place. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 20 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3424 --- Comment #3 from Andrei Alexandrescu <andrei metalanguage.com> 2009-10-20 17:38:19 PDT --- (In reply to comment #2)Your commit, r1300, also removes some opSlice(): -736,10 +740,4 /// Range primitive implementations. - ByLine!(Char, Terminator) opSlice() - { - return this; - } - - /// Ditto bool empty() const { Is this intended? If so, it would be nice if you could apply the changes in two different commits (if they are really unrelated, as I think they are; if not, please ignore this comment :). I'm sorry to say this here I guess it's not the place, but I don't know of a better place.
For a brief period, Walter required opSlice for foreach to work. He subsequently changed that, so I clean up that stuff when I get the opportunity. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 20 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3424 --- Comment #4 from Leandro Lucarella <llucax gmail.com> 2009-10-20 17:50:14 PDT --- (In reply to comment #3)(In reply to comment #2)Your commit, r1300, also removes some opSlice(): -736,10 +740,4 /// Range primitive implementations. - ByLine!(Char, Terminator) opSlice() - { - return this; - } - - /// Ditto bool empty() const { Is this intended? If so, it would be nice if you could apply the changes in two different commits (if they are really unrelated, as I think they are; if not, please ignore this comment :). I'm sorry to say this here I guess it's not the place, but I don't know of a better place.
For a brief period, Walter required opSlice for foreach to work. He subsequently changed that, so I clean up that stuff when I get the opportunity.
Ok, that comment would be an excellent commit message for a separated commit removing the opSlice() ;) Thanks for the clarification. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 20 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3424 Brad Roberts <braddr puremagic.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |braddr puremagic.com --- Comment #5 from Brad Roberts <braddr puremagic.com> 2009-10-20 18:26:12 PDT --- The two BUG comments that are still there.. is there still a bug? If so, what is the bug number? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Oct 20 2009









d-bugmail puremagic.com 