summaryrefslogtreecommitdiff
path: root/doc/posix-functions/mknod.texi
diff options
context:
space:
mode:
authorEric Blake <ebb9@byu.net>2009-11-11 13:23:04 -0700
committerEric Blake <ebb9@byu.net>2009-11-11 19:24:35 -0700
commit599bbd22717fdd0f8d6b8a6f54b99b2a9fa7b410 (patch)
tree1ee79736ff3a7d917bdc1274872d9ba51731a902 /doc/posix-functions/mknod.texi
parent08166afd7322d40407cf62e3c98b97782d7d1af0 (diff)
downloadgnulib-599bbd22717fdd0f8d6b8a6f54b99b2a9fa7b410.tar.gz
mknod: new module
Solaris 9 mknod("name/",mode,dev) mistakenly creates "name" for non-directory mode. FreeBSD 7.2 mknod("dangling/",mode,dev) mistakenly creates the target of the symlink if run as root. FreeBSD and OpenBSD mknod("fifo",S_IFIFO|mode,0) fails for non-root. Use of mknod caused link failures on mingw. * modules/mknod: New file. * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise. * lib/mknod.c (mknod): Likewise. * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness defaults. * modules/sys_stat (Makefile.am): Substitute them. * lib/sys_stat.in.h (mknod): Declare replacement. * MODULES.html.sh (Support for systems lacking POSIX:2008): Document it. * doc/posix-functions/mknod.texi (mknod): Likewise. * modules/mknod-tests: New test. * tests/test-mknod.c: Likewise. Signed-off-by: Eric Blake <ebb9@byu.net>
Diffstat (limited to 'doc/posix-functions/mknod.texi')
-rw-r--r--doc/posix-functions/mknod.texi17
1 files changed, 14 insertions, 3 deletions
diff --git a/doc/posix-functions/mknod.texi b/doc/posix-functions/mknod.texi
index 2853416cfa..99105eab08 100644
--- a/doc/posix-functions/mknod.texi
+++ b/doc/posix-functions/mknod.texi
@@ -4,15 +4,26 @@
POSIX specification: @url{http://www.opengroup.org/onlinepubs/9699919799/functions/mknod.html}
-Gnulib module: ---
+Gnulib module: mknod
Portability problems fixed by Gnulib:
@itemize
+@item
+This function requires super-user privileges to create a fifo:
+FreeBSD 7.2, OpenBSD 3.8.
+@item
+This function mishandles trailing slash on some platforms:
+FreeBSD 7.2, Solaris 9.
+@item
+This function is missing on some platforms; however, the replacement
+always fails with @code{ENOSYS}:
+mingw.
@end itemize
Portability problems not fixed by Gnulib:
@itemize
@item
-This function is missing on some platforms:
-mingw.
+Use of this function for anything except fifos is not portable,
+generally requiring super-user privileges and knowledge of supported
+device numbers.
@end itemize