From: vlc <just.another.spam.account@googlemail.com>
Subject: Re: Atomic file creation
Date: Mon, 4 Jan 2010 06:24:26 -0800 (PST)
Date: 2010-01-04T06:24:26-08:00 [thread overview]
Message-ID: <be17a931-d9c4-47b6-8ede-c20e144f3af7@a6g2000yqm.googlegroups.com> (raw)
In-Reply-To: c06d32c4-e160-4a74-9f7a-efe3d7108cc8@v25g2000yqk.googlegroups.com
I also tried something like this:
1 Ada.Text_IO.Create (Handle, Out_File);
2 declare
3 Temp_File : String := Ada.Text_IO.Name (Handle);
4 begin
5 Ada.Text_IO.Close (Handle);
6 Ada.Text_IO.Rename (Temp_File, "file");
7 Ada.Text_IO.Put_Line ("Success");
8 exception
9 when Ada.IO_Exceptions.Use_Error =>
10 Ada.Text_IO.Put_Line ("Failure");
11 when others =>
12 raise;
13 end;
But Ada.Text_IO.Rename always raises Ada.IO_Exceptions.Use_Error, even
if the file does not exist. But if I replace line 1 with
1 Ada.Text_IO.Create (Handle, Out_File, "my_temp_file");
it works. It seems that Ada.Text_IO.Rename cannot rename temporary
files for whatever reason.
Using Ada.Directories.Copy_File instead of Ada.Text_IO.Rename does not
help as Ada.Directories.Copy_File overwrites files without raising an
exception. Bad luck ...
next prev parent reply other threads:[~2010-01-04 14:24 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-01-04 13:40 Atomic file creation vlc
2010-01-04 14:24 ` vlc [this message]
2010-01-04 15:52 ` Jean-Pierre Rosen
2010-01-04 16:45 ` vlc
2010-01-04 17:12 ` Jean-Pierre Rosen
2010-01-04 22:38 ` Ludovic Brenta
2010-01-04 23:00 ` Dmitry A. Kazakov
2010-01-05 9:15 ` Jacob Sparre Andersen
2010-01-05 4:16 ` Stephen Leake
2010-01-05 14:48 ` vlc
2010-01-09 15:23 ` Stephen Leake
2010-01-04 14:25 ` Georg Bauhaus
2010-01-04 14:45 ` vlc
2010-01-04 14:49 ` Jacob Sparre Andersen
2010-01-04 15:07 ` vlc
2010-01-04 17:14 ` Jacob Sparre Andersen
2010-01-05 14:43 ` vlc
2010-01-06 2:28 ` Brad Moore
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox