From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,dc393c3a10696107 X-Google-Attributes: gid103376,public From: Robert A Duff Subject: Re: Create-Delete tmp Files Date: 2000/03/20 Message-ID: #1/1 X-Deja-AN: 599974407 Sender: bobduff@world.std.com (Robert A Duff) References: <8at7g0$bhc$1@nnrp1.deja.com> <38D27008.4055C0AB@res.raytheon.com> <8b0pla$aub$1@nnrp1.deja.com> <8b4n77$u4a$1@nnrp1.deja.com> <8b5d8c$cri$1@nnrp1.deja.com> Organization: The World Public Access UNIX, Brookline, MA Newsgroups: comp.lang.ada Date: 2000-03-20T00:00:00+00:00 List-Id: Achim Gerhard writes: > > By the way, "legal" is a compile-time thing in Ada, which isn't what > you > > mean here. > Excuse my bad English. It's not bad English. It's just bad Ada jargon. ;-) "Legal" and "illegal" are defined in chap 1 of the Ada RM. >...What would you say? How about, "Should the following work?" > > > loop > > > Text_IO.Create ( File => the_file, Mode => Text_IO.OUT_File ); > > > Text_IO.Reset ( File => the_file, Mode => Text_IO.IN_File ); > > > Text_IO.Delete ( File => the_file ); > > > end loop; > > > And the question behind that is: > > > Why does this code cause the Ada runtime to accumulate memory? > > > > Because you didn't Close the file. > From LRM, A.8.2 File Management > 12 procedure Delete(File : in out File_Type); > 13 Deletes the external file associated with the given file. > The given file is closed, and the external file ceases to exist. > ^^^^^^^^^ OK, I guess I was wrong. I don't know why it leaks memory. - Bob