utimensat: new module
authorEric Blake <ebb9@byu.net>
Mon, 12 Oct 2009 22:48:57 +0000 (16:48 -0600)
committerEric Blake <ebb9@byu.net>
Fri, 16 Oct 2009 14:26:51 +0000 (08:26 -0600)
commit791cc509ac459a2555f8d633ad67455cf8d3fe4d
tree67968f6b2ce89c45e77a2aef8932508fb99fa61d
parent0c278290674f9bb9749d27f2885da510a78acc79
utimensat: new module

Provide utimensat where it is missing, and rpl_utimensat to work
around ENOSYS and EINVAL bugs in older Linux kernels.

* modules/utimensat: New file.
* lib/utimensat.c (utimensat): Likewise.
* m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
* lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
so we can work around Linux bugs.
* m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
* modules/sys_stat (Makefile.am): Substitute them.
* lib/sys_stat.in.h (utimensat): Declare it.
* MODULES.html.sh (systems lacking POSIX:2008): Mention module.
* doc/posix-functions/utimensat.texi (utimensat): Likewise.
* modules/utimensat-tests: New test.
* tests/test-utimensat.c: Likewise.

Signed-off-by: Eric Blake <ebb9@byu.net>
12 files changed:
ChangeLog
MODULES.html.sh
doc/posix-functions/utimensat.texi
lib/sys_stat.in.h
lib/utimens.c
lib/utimensat.c [new file with mode: 0644]
m4/sys_stat_h.m4
m4/utimensat.m4 [new file with mode: 0644]
modules/sys_stat
modules/utimensat [new file with mode: 0644]
modules/utimensat-tests [new file with mode: 0644]
tests/test-utimensat.c [new file with mode: 0644]