summaryrefslogtreecommitdiff
path: root/lib/close-stream.h
diff options
context:
space:
mode:
authorPaul Eggert <eggert@cs.ucla.edu>2012-11-03 11:54:17 -0700
committerPaul Eggert <eggert@cs.ucla.edu>2012-11-03 11:54:17 -0700
commit7ccfb720b477df05042729e0e300bae5922f5120 (patch)
treed5bfded71b48dfefbc4e3334c0ae586de29ab7bc /lib/close-stream.h
parent376a8e83bb3438f77dadf2d9910ef7baabcc82c2 (diff)
downloademacs-7ccfb720b477df05042729e0e300bae5922f5120.tar.gz
Fix data-loss with --batch.
* admin/merge-gnulib (GNULIB_MODULES): Add close-stream. * lib/close-stream.c, lib/close-stream.h, lib/fpending.c * lib/fpending.h, m4/close-stream.m4, m4/fpending.m4: New files, from gnulib. * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate. * src/emacs.c: Include <close-stream.h>. (close_output_streams): New function. (main): Pass it to atexit, so that Emacs closes stdout and stderr and handles errors appropriately. (Fkill_emacs): Don't worry about flushing, as close_output_stream does that now. Fixes: debbugs:9574
Diffstat (limited to 'lib/close-stream.h')
-rw-r--r--lib/close-stream.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/lib/close-stream.h b/lib/close-stream.h
new file mode 100644
index 00000000000..be3d4196b06
--- /dev/null
+++ b/lib/close-stream.h
@@ -0,0 +1,2 @@
+#include <stdio.h>
+int close_stream (FILE *stream);