1
0
mirror of https://git.savannah.gnu.org/git/gnulib.git synced 2025-08-08 17:22:05 +03:00

4 Commits

Author SHA1 Message Date
Bruno Haible
e1280386c6 Rename module errno to errno-h.
* modules/errno-h: Renamed from modules/errno.
* modules/errno-h-tests: Renamed from modules/errno-tests.
* modules/errno-h-c++-tests: Renamed from modules/errno-c++-tests.
* tests/test-errno-h.c: Renamed from tests/test-errno.c.
* tests/test-errno-h-c++.cc: Renamed from tests/test-errno-c++.cc.
* tests/test-errno-h-c++2.cc: Renamed from tests/test-errno-c++2.cc.
* doc/posix-headers/errno.texi: Update.
* modules/* (Depends-on): Update.
* modules/errno: New file.
2024-12-27 23:14:03 +01:00
Bruno Haible
811de3eaff fdatasync: Rename LIB_FDATASYNC to FDATASYNC_LIB.
* m4/fdatasync.m4: Rename LIB_FDATASYNC to FDATASYNC_LIB.
All uses changed.
* NEWS: Mention the change.
2023-01-07 18:06:51 +01:00
Eric Blake
fa7cfa7201 fdatasync: port to Solaris
Cater to Solaris requiring extra libraries for fdatasync.

* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
* modules/fdatasync (Link): Document it.
* modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.

Signed-off-by: Eric Blake <eblake@redhat.com>
2011-09-16 14:12:01 -06:00
Eric Blake
64da7b6c00 fdatasync: new module
At least libvirt would like to use the lighter-weight fdatasync
on platforms where it is supported, while still guaranteeing full
sync (via the heavy-weight fsync fallback) on all platforms.

I've got an open question to the Austin Group, since the POSIX 2008
wording is self-contradictory (unlike fsync, fdatasync requires
EBADF on non-writable fds, but still mentions that read() errors
must be propagated).  I can see how fsync() would affect atime after
read() while fdatasync() can skip that, explaining why fdatasync()
might have the EBADF requirement, but on the other hand, that prevents
an implementation (like ours) where fdatasync is a straight alias of
fsync.  At any rate, glibc allows fdatasync on read-only fds.

* modules/fsync (Description): Document difference to fdatasync.
* modules/fdatasync: New module.
* m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
* lib/fdatasync.c (fdatasync): Likewise.
* m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
defaults.
* modules/unistd (Makefile.am): Set witnesses.
* lib/unistd.in.h (fdatasync): Declare.
* MODULES.html.sh: Document it.
* doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
* modules/fdatasync-tests: New test.
* tests/test-fdatasync.c: Likewise.

Signed-off-by: Eric Blake <eblake@redhat.com>
2011-09-16 11:18:56 -06:00