[Haskell-cafe] about openTempFile

Dougal Stanton dougal at dougalstanton.net
Wed Sep 17 09:10:56 EDT 2008

On Wed, Sep 17, 2008 at 1:17 PM, Manlio Perillo
<manlio_perillo at libero.it> wrote:
> The Python tempfile module, as an example, implements a wrapper around
> mkstemp function that does exactly this, and the code is portable; on
> Windows it uses O_TEMPORARY_FILE flag, on POSIX systems the file is
> unlink-ed as soon as it is created (but note that the code is not signal
> safe - well, many functions in the Python standard library are not signal
> safe).

Something like:

> withTempFile :: String -> ((FilePath, Handle) -> IO b) -> IO b
> withTempFile name action = do
>     tmpdir <- getTemporaryDirectory
>     bracket
>         (openTempFile tmpdir name)
>         (\(fp,h) -> hClose h >> removeFile fp)
>         action

I don't know if this has the safety requirements you mean?

Dougal Stanton
dougal at dougalstanton.net // http://www.dougalstanton.net

More information about the Haskell-Cafe mailing list