Ben Pfaff wrote:
> I agree that the Windows implementation is, arguably, C99 and
> POSIX compliant.  But I claim that it has an unreasonably poor
> quality of implementation, bad enough that we should replace it.
> If a Unix-like system implemented its tmpfile in a similar way,
> by always attempting to create a file in the root directory and
> failing if permissions were lacking, I imagine that we'd all
> accept that this is a poor implementation that should be
> replaced.
> 
> To me the Microsoft documentation seems like a red herring.  The
> way I've always thought about Gnulib is that it allows a GNU
> program to make assumptions about its environment that GNU
> programmers find comfortable, by covering up the differences
> where it is possible.  For example, GNU programmers find it
> comfortable to assume that malloc(0) returns non-null, so Gnulib
> helps with that.

Paul, what's your opinion on this? Should gnulib includes overrides under
the same function name, even if they contradict the respective platform's
documentation?

> > Can you elaborate, please? clean-temp guarantees that the file will be
> > removed in most cases. You want it removed earlier, as soon as the fclose
> > happens? To save disk space?
> 
> Yes: PSPP uses temporary files for transposing big matrices,
> out-of-core merge sorting, and so on, so it's a good idea to free
> up disk space when it can.

But with the clean-temp module, you can arrange yourself to free the
disk space as soon as possible: just call cleanup_temp_file right after
close_temp. The only feature that _O_TEMPORARY provides is that the file
is removed if the process crashes.

Bruno



Reply via email to