From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.5-pre1 (2020-06-20) on ip-172-31-74-118.ec2.internal X-Spam-Level: X-Spam-Status: No, score=-1.9 required=3.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.5-pre1 Path: eternal-september.org!reader02.eternal-september.org!aioe.org!5WHqCw2XxjHb2npjM9GYbw.user.gioia.aioe.org.POSTED!not-for-mail From: "Dmitry A. Kazakov" Newsgroups: comp.lang.ada Subject: Re: Smart to put "Flush(myfile)" before "Close(myfile") ? Date: Mon, 25 Jan 2021 13:05:22 +0100 Organization: Aioe.org NNTP Server Message-ID: References: NNTP-Posting-Host: 5WHqCw2XxjHb2npjM9GYbw.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Thunderbird/78.6.1 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader02.eternal-september.org comp.lang.ada:61191 List-Id: On 2021-01-25 06:42, reinert wrote: > Can an exception (runtime error) in principle, after closing a file, interrupt the process of writing the actual file to disc? Depends on the error. If you crash the OS some cached stuff might get lost. That depends on the filesystem. If you managed to wipe out the RAID controller's cache as well as its persistent memory that would destroy anything there. Let your fantasy fly... > I.e. is it smart to include a "Flush(myfile)" before "Close(myfile)" like this: > > Create (myfile, Out_File, "myfilename"); > ... Put .. Put > Flush(myfile); > Close(myfile); AFAIK closing file flushes all file buffers and writes the file size. Thus calling Flush should change nothing. -- Regards, Dmitry A. Kazakov http://www.dmitry-kazakov.de