mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-11-24 20:20:35 +00:00
* src/posixos.c (os_anontmp): [SV 63287] Only fail O_TMPFILE once
Reported by Dmitry Goncharov <dgoncharov@users.sf.net>.
This commit is contained in:
parent
b92340a1ea
commit
11f9da227e
1 changed files with 11 additions and 5 deletions
|
@ -843,12 +843,18 @@ os_anontmp ()
|
|||
int fd = -1;
|
||||
|
||||
#ifdef O_TMPFILE
|
||||
EINTRLOOP (fd, open (tdir, O_RDWR | O_TMPFILE | O_EXCL, 0600));
|
||||
if (fd >= 0)
|
||||
return fd;
|
||||
static unsigned int tmpfile_works = 1;
|
||||
|
||||
DB (DB_BASIC, (_("Cannot open '%s' with O_TMPFILE: %s.\n"),
|
||||
tdir, strerror (errno)));
|
||||
if (tmpfile_works)
|
||||
{
|
||||
EINTRLOOP (fd, open (tdir, O_RDWR | O_TMPFILE | O_EXCL, 0600));
|
||||
if (fd >= 0)
|
||||
return fd;
|
||||
|
||||
DB (DB_BASIC, (_("Cannot open '%s' with O_TMPFILE: %s.\n"),
|
||||
tdir, strerror (errno)));
|
||||
tmpfile_works = 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#if HAVE_DUP
|
||||
|
|
Loading…
Reference in a new issue