aboutsummaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorPaul Eggert2013-07-09 00:04:48 -0700
committerPaul Eggert2013-07-09 00:04:48 -0700
commit4ebbdd6712c1966406b40d2673464949775cbd7a (patch)
tree08667dd241629ca55c2c30ce19777bd7ec107cfa /admin
parent584ee3fc72260acb3cc83f4d1a047b733a08ca17 (diff)
downloademacs-4ebbdd6712c1966406b40d2673464949775cbd7a.tar.gz
emacs-4ebbdd6712c1966406b40d2673464949775cbd7a.zip
Handle errno and exit status a bit more carefully.
* lib/ignore-value.h: Remove this gnulib-imported file. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * admin/merge-gnulib (GNULIB_MODULES): Remove ignore-value. * src/callproc.c (child_setup) [!DOS_NT]: Don't try to stuff an error number into an exit status. Instead, use EXIT_CANCELED. (child_setup) [!MSDOS]: Avoid possible deadlock with vfork. * src/callproc.c (relocate_fd): * src/emacs.c (close_output_streams, main): * src/process.c (create_process): * src/sysdep.c (sys_subshell) [!DOS_NT || !WINDOWSNT]: Use emacs_perror for simplicity. * src/callproc.c (relocate_fd, main): * src/sysdep.c (sys_subshell): Exit with EXIT_CANCELED etc., not 1, when exec setup fails. (shut_down_emacs): Use emacs_write, not write. * src/emacs.c, src/sysdep.c: Don't include <ignore-value.h>. * src/fileio.c (Fcopy_file, e_write): * src/nsterm.m (ns_select): * src/process.c (send_process): * src/sound.c (vox_write): Use emacs_write_sig, not emacs_write. * src/lisp.h (emacs_write_sig, emacs_perror): New decls. * src/process.h (EXIT_CANCELED), EXIT_CANNOT_INVOKE, EXIT_ENOENT): New constants. * src/sysdep.c (emacs_backtrace): Use emacs_write, not ignore_value of write. (emacs_full_write): New function. (emacs_write): Rewrite to use it. (emacswrite_sig, emacs_perror): New functions. * src/xrdb.c (fatal): Don't invoke perror, since errno might be garbage.
Diffstat (limited to 'admin')
-rw-r--r--admin/ChangeLog5
-rwxr-xr-xadmin/merge-gnulib2
2 files changed, 6 insertions, 1 deletions
diff --git a/admin/ChangeLog b/admin/ChangeLog
index f7d7cbb55d2..deb3059f8d2 100644
--- a/admin/ChangeLog
+++ b/admin/ChangeLog
@@ -1,3 +1,8 @@
12013-07-09 Paul Eggert <eggert@cs.ucla.edu>
2
3 Handle error numbers a bit more reliably.
4 * merge-gnulib (GNULIB_MODULES): Remove ignore-value.
5
12013-07-07 Paul Eggert <eggert@cs.ucla.edu> 62013-07-07 Paul Eggert <eggert@cs.ucla.edu>
2 7
3 Make file descriptors close-on-exec when possible (Bug#14803). 8 Make file descriptors close-on-exec when possible (Bug#14803).
diff --git a/admin/merge-gnulib b/admin/merge-gnulib
index f89fe7959fd..be4dfdd409c 100755
--- a/admin/merge-gnulib
+++ b/admin/merge-gnulib
@@ -31,7 +31,7 @@ GNULIB_MODULES='
31 dtoastr dtotimespec dup2 environ execinfo faccessat 31 dtoastr dtotimespec dup2 environ execinfo faccessat
32 fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync 32 fcntl fcntl-h fdatasync fdopendir filemode fstatat fsync
33 getloadavg getopt-gnu gettime gettimeofday 33 getloadavg getopt-gnu gettime gettimeofday
34 ignore-value intprops largefile lstat 34 intprops largefile lstat
35 manywarnings memrchr mktime 35 manywarnings memrchr mktime
36 pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat 36 pipe2 pselect pthread_sigmask putenv qacl readlink readlinkat
37 sig2str socklen stat-time stdalign stdarg stdbool stdio 37 sig2str socklen stat-time stdalign stdarg stdbool stdio