diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 6 | ||||
| -rw-r--r-- | src/emacs.c | 9 |
2 files changed, 14 insertions, 1 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 439b5c06e27..847e065e1c3 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,9 @@ | |||
| 1 | 2012-09-22 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | * emacs.c (shut_down_emacs): Don't assume stderr is buffered, | ||
| 4 | or that fprintf is async-signal-safe. POSIX doesn't require | ||
| 5 | either assumption. | ||
| 6 | |||
| 1 | 2012-09-22 Chong Yidong <cyd@gnu.org> | 7 | 2012-09-22 Chong Yidong <cyd@gnu.org> |
| 2 | 8 | ||
| 3 | * buffer.c (Fset_buffer_modified_p): Handle indirect buffers | 9 | * buffer.c (Fset_buffer_modified_p): Handle indirect buffers |
diff --git a/src/emacs.c b/src/emacs.c index d4b52ab64ea..a483f3848cf 100644 --- a/src/emacs.c +++ b/src/emacs.c | |||
| @@ -27,6 +27,8 @@ along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>. */ | |||
| 27 | #include <sys/file.h> | 27 | #include <sys/file.h> |
| 28 | #include <unistd.h> | 28 | #include <unistd.h> |
| 29 | 29 | ||
| 30 | #include <ignore-value.h> | ||
| 31 | |||
| 30 | #include "lisp.h" | 32 | #include "lisp.h" |
| 31 | 33 | ||
| 32 | #ifdef HAVE_WINDOW_SYSTEM | 34 | #ifdef HAVE_WINDOW_SYSTEM |
| @@ -2012,7 +2014,12 @@ shut_down_emacs (int sig, Lisp_Object stuff) | |||
| 2012 | { | 2014 | { |
| 2013 | reset_all_sys_modes (); | 2015 | reset_all_sys_modes (); |
| 2014 | if (sig && sig != SIGTERM) | 2016 | if (sig && sig != SIGTERM) |
| 2015 | fprintf (stderr, "Fatal error %d: %s", sig, strsignal (sig)); | 2017 | { |
| 2018 | char buf[100]; | ||
| 2019 | int buflen = snprintf (buf, sizeof buf, "Fatal error %d: %s", | ||
| 2020 | sig, strsignal (sig)); | ||
| 2021 | ignore_value (write (STDERR_FILENO, buf, buflen)); | ||
| 2022 | } | ||
| 2016 | } | 2023 | } |
| 2017 | } | 2024 | } |
| 2018 | #else | 2025 | #else |