Missing ftruncate
Krasimir Angelov
ka2_mail at yahoo.com
Thu Jan 6 08:48:58 EST 2005
withTempFile isn't safe. It will generate the same
name if it is executed two time consequently and the
temporary file isn't created in the mean time. I also
thought about something like withTempFile but there
are some use cases in which it is useless.
openTempFile is simpler and on top of it withTempFile
can be implemented safely.
--- Simon Marlow <simonmar at microsoft.com> wrote:
> On 04 January 2005 17:51, Krasimir Angelov wrote:
>
> > I also would like to have some functions for
> creation
> > of temporary files. My proposal is:
> >
> > openTempFile :: FilePath
> > -> String
> > -> IO (FilePath, Handle)
> > openBinaryTempFile :: ...
> >
> > The first argument is the directory where to
> create
> > the file and the second argument is the file name
> > template. The template is something like "foo.bar"
> > with this template the name of the created file
> will
> > be fooXXX.bar where XXX is some random number. The
> > function should create immediatelly the file in
> order
> > to prevent other processes to create a file with
> the
> > same name. The returned path is the complete path
> to
> > the created file and the handle is the handle to
> the
> > created file.
>
> See withTempFile in Distribution.Simple.Utils; in
> many cases it is
> better to use the 'with'-style to eliminate the
> possibility of
> forgetting to remove the temporary file later.
> Sometimes the 'with'
> style isn't appropriate, but in those cases you
> should keep a list of
> temporary files and remove them with a top-level
> exception handler (like
> GHC does).
>
> Cheers,
> Simon
>
__________________________________
Do you Yahoo!?
Yahoo! Mail - 250MB free storage. Do more. Manage less.
http://info.mail.yahoo.com/mail_250
More information about the Libraries
mailing list