summaryrefslogtreecommitdiff
path: root/gnulib/doc/posix-functions/mkstemp.texi
blob: 49f6849441aee1c3c7d44b749b33c85e6a7fbe96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
@node mkstemp
@section @code{mkstemp}
@findex mkstemp

POSIX specification:@* @url{http://www.opengroup.org/onlinepubs/9699919799/functions/mkstemp.html}

Gnulib module: mkstemp

Portability problems fixed by Gnulib:
@itemize
@item
This function is missing on some platforms:
mingw, MSVC 9.
@item
This function is declared in @code{<unistd.h>} instead of @code{<stdlib.h>}
on some platforms:
MacOS X 10.3.
@item
On some platforms (HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1), mkstemp has a silly
limit that it can create no more than 26 files from a given template.  On
OSF/1 4.0f, it can create only 32 files per process.
@item
On platforms where @code{off_t} is a 32-bit type, @code{mkstemp} may not work
correctly to create files larger than 2 GB.  (Cf. @code{AC_SYS_LARGEFILE}.)
@item
On some older platforms, @code{mkstemp} can create a world or group
writable or readable file, if you haven't set the process umask to
077.  This is a security risk.
@end itemize

Portability problems not fixed by Gnulib:
@itemize
@end itemize

The gnulib module @code{clean-temp} can create temporary files that will not
be left behind after signals such as SIGINT.