diff options
| author | Paul Eggert | 2013-03-13 11:42:22 -0700 |
|---|---|---|
| committer | Paul Eggert | 2013-03-13 11:42:22 -0700 |
| commit | 47d7532e093db8a5068a40c587915121ffaaad18 (patch) | |
| tree | a99ea6eca34ea0e9c8d6e8a8d6291833ce27dca5 /admin | |
| parent | c7ffccaf17d63cefd34bef0a9becc4e68df3b115 (diff) | |
| download | emacs-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-DEFINES | 2 | ||||
| -rw-r--r-- | admin/ChangeLog | 6 | ||||
| -rwxr-xr-x | admin/merge-gnulib | 3 |
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 | ||
| 10 | AIX | 10 | AIX |
| 11 | _AIX | 11 | _AIX |
| 12 | BSD_SYSTEM | ||
| 13 | CYGWIN Compiling the Cygwin port. | 12 | CYGWIN Compiling the Cygwin port. |
| 14 | __CYGWIN__ Ditto | 13 | __CYGWIN__ Ditto |
| 15 | GNU_LINUX | 14 | GNU_LINUX |
| @@ -149,7 +148,6 @@ HAVE_FORK | |||
| 149 | HAVE_FREEIFADDRS | 148 | HAVE_FREEIFADDRS |
| 150 | HAVE_FREETYPE | 149 | HAVE_FREETYPE |
| 151 | HAVE_FSEEKO | 150 | HAVE_FSEEKO |
| 152 | HAVE_FSYNC | ||
| 153 | HAVE_FUTIMENS | 151 | HAVE_FUTIMENS |
| 154 | HAVE_FUTIMES | 152 | HAVE_FUTIMES |
| 155 | HAVE_FUTIMESAT | 153 | HAVE_FUTIMESAT |
diff --git a/admin/ChangeLog b/admin/ChangeLog index a0fd90e0d15..fcc339c17cd 100644 --- a/admin/ChangeLog +++ b/admin/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2013-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 | |||
| 1 | 2013-03-11 Paul Eggert <eggert@cs.ucla.edu> | 7 | 2013-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 |