Avoid creating temporary output files

This change also removes the futimens() call on the Landlock Make output
file workaround, since it caused problems with commands like fixupobj
which modify-in-place. It turns out if a file is opened for writing and
then no writes actually occur, then the modified time doesn't change.
This commit is contained in:
Justine Tunney 2022-08-10 22:08:43 -07:00
parent 4c3ab6d11e
commit 2d64b9994b
15 changed files with 502 additions and 446 deletions

View file

@ -1866,10 +1866,7 @@ child_execute_job (struct childbase *child, int good_stdin, char **argv)
errno = err;
fd = open (c->file->name, O_RDWR | O_CREAT, 0777);
if (fd != -1)
{
futimens (fd, (struct timespec[2]){0});
close (fd);
}
close (fd);
else if (errno == EEXIST)
errno = err;
else