aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorPaul Eggert2013-03-13 11:42:22 -0700
committerPaul Eggert2013-03-13 11:42:22 -0700
commit47d7532e093db8a5068a40c587915121ffaaad18 (patch)
treea99ea6eca34ea0e9c8d6e8a8d6291833ce27dca5 /admin
parentc7ffccaf17d63cefd34bef0a9becc4e68df3b115 (diff)
downloademacs-47d7532e093db8a5068a40c587915121ffaaad18.tar.gz
emacs-47d7532e093db8a5068a40c587915121ffaaad18.zip
File synchronization fixes.
* admin/CPP-DEFINES (BSD_SYSTEM, HAVE_FSYNC): Remove. * admin/merge-gnulib (GNULIB_MODULES): Add fsync, fdatasync. * configure.ac (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed. (fsync): Remove check; now done by gnulib. * lib/fdatasync.c, lib/fsync.c, m4/fdatasync.m4, m4/fsync.m4: New files, from gnulib. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * lib-src/Makefile.in (LIB_FDATASYNC): New macro. (emacsclient${EXEEXT}): Use it. * lib-src/emacsclient.c (main): Use fdatasync, not fsync, since we don't care about metadata. Keep trying if interrupted. * lib-src/movemail.c (main, popmail): Don't worry about BSD_SYSTEM, since fsync is available everywhere (or there is a substitute). Don't report an error if fsync returns EINVAL. * nt/inc/ms-w32.h (fdatasync): New macro, suggested by Eli Zaretskii. * src/Makefile.in (LIB_FDATASYNC): New macro. (LIBES): Use it. * src/conf_post.h (BSD_SYSTEM, BSD_SYSTEM_AHB): Remove; no longer needed. * src/fileio.c (Fwrite_region, write_region_inhibit_fsync): Don't worry about HAVE_FSYNC, since a substitute fsync is available if the system lacks one. (Fwrite_regin): Retry fsync if interrupted. Fixes: debbugs:13944
Diffstat (limited to 'admin')
-rw-r--r--admin/CPP-DEFINES2
-rw-r--r--admin/ChangeLog6
-rwxr-xr-xadmin/merge-gnulib3
3 files changed, 8 insertions, 3 deletions
diff --git a/admin/CPP-DEFINES b/admin/CPP-DEFINES
index da8dec5a0f6..c11c3c3b489 100644
--- a/admin/CPP-DEFINES
+++ b/admin/CPP-DEFINES
@@ -9,7 +9,6 @@ documented in config.in, and this file would not be necessary.
9 9
10AIX 10AIX
11_AIX 11_AIX
12BSD_SYSTEM
13CYGWIN Compiling the Cygwin port. 12CYGWIN Compiling the Cygwin port.
14__CYGWIN__ Ditto 13__CYGWIN__ Ditto
15GNU_LINUX 14GNU_LINUX
@@ -149,7 +148,6 @@ HAVE_FORK
149HAVE_FREEIFADDRS 148HAVE_FREEIFADDRS
150HAVE_FREETYPE 149HAVE_FREETYPE
151HAVE_FSEEKO 150HAVE_FSEEKO
152HAVE_FSYNC
153HAVE_FUTIMENS 151HAVE_FUTIMENS
154HAVE_FUTIMES 152HAVE_FUTIMES
155HAVE_FUTIMESAT 153HAVE_FUTIMESAT
diff --git a/admin/ChangeLog b/admin/ChangeLog
index a0fd90e0d15..fcc339c17cd 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,9 @@
12013-03-13 Paul Eggert <eggert@cs.ucla.edu>
2
3 File synchronization fixes (Bug#13944).
4 * CPP-DEFINES (BSD_SYSTEM, HAVE_FSYNC): Remove.
5 * merge-gnulib (GNULIB_MODULES): Add fsync, fdatasync.
6
12013-03-11 Paul Eggert <eggert@cs.ucla.edu> 72013-03-11 Paul Eggert <eggert@cs.ucla.edu>
2 8
3 * notes/unicode: Improve notes about Emacs source file encoding. 9 * notes/unicode: Improve notes about Emacs source file encoding.
diff --git a/admin/merge-gnulib b/admin/merge-gnulib
index b43f2bd9bb8..100749191f0 100755
--- a/admin/merge-gnulib
+++ b/admin/merge-gnulib
@@ -29,7 +29,8 @@ GNULIB_MODULES='
29 alloca-opt c-ctype c-strcase 29 alloca-opt c-ctype c-strcase
30 careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512 30 careadlinkat close-stream crypto/md5 crypto/sha1 crypto/sha256 crypto/sha512
31 dtoastr dtotimespec dup2 environ execinfo faccessat 31 dtoastr dtotimespec dup2 environ execinfo faccessat
32 fcntl-h fdopendir filemode fstatat getloadavg getopt-gnu gettime gettimeofday 32 fcntl-h fdatasync fdopendir filemode fstatat fsync
33 getloadavg getopt-gnu gettime gettimeofday
33 ignore-value intprops largefile lstat 34 ignore-value intprops largefile lstat
34 manywarnings memrchr mktime 35 manywarnings memrchr mktime
35 pselect pthread_sigmask putenv readlink readlinkat 36 pselect pthread_sigmask putenv readlink readlinkat