diff options
| author | Kenichi Handa | 2012-09-06 10:49:15 +0900 |
|---|---|---|
| committer | Kenichi Handa | 2012-09-06 10:49:15 +0900 |
| commit | fca81a8d405cd4c825e144099c54dd163636aa3b (patch) | |
| tree | ee09be4b0e079b9c8863c8b570496a169227b218 /src/ChangeLog | |
| parent | f41d6f9db69ce77fe9b3a637de407e8b589e0dc4 (diff) | |
| parent | 067b39d4296765e83f9530eca456168f6cda95fc (diff) | |
| download | emacs-fca81a8d405cd4c825e144099c54dd163636aa3b.tar.gz emacs-fca81a8d405cd4c825e144099c54dd163636aa3b.zip | |
merge trunk
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 101 |
1 files changed, 101 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 7922a92d0fc..24d290e163d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,104 @@ | |||
| 1 | 2012-09-05 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Fix race conditions with signal handlers and errno. | ||
| 4 | Be more systematic about preserving errno whenever a signal | ||
| 5 | handler returns, even if it's not in the main thread. Do this by | ||
| 6 | renaming signal handlers to distinguish between signal delivery | ||
| 7 | and signal handling. All uses changed. | ||
| 8 | * atimer.c (deliver_alarm_signal): Rename from alarm_signal_handler. | ||
| 9 | * data.c (deliver_arith_signal): Rename from arith_error. | ||
| 10 | * dispnew.c (deliver_window_change_signal): Rename from | ||
| 11 | window_change_signal. | ||
| 12 | * emacs.c (deliver_error_signal): Rename from fatal_error_signal. | ||
| 13 | (deliver_danger_signal) [SIGDANGER]: Rename from memory_warning_signal. | ||
| 14 | * keyboard.c (deliver_input_available_signal): Rename from | ||
| 15 | input_available_signal. | ||
| 16 | (deliver_user_signal): Rename from handle_user_signal. | ||
| 17 | (deliver_interrupt_signal): Rename from interrupt_signal. | ||
| 18 | * process.c (deliver_pipe_signal): Rename from send_process_trap. | ||
| 19 | (deliver_child_signal): Rename from sigchld_handler. | ||
| 20 | * atimer.c (handle_alarm_signal): | ||
| 21 | * data.c (handle_arith_signal): | ||
| 22 | * dispnew.c (handle_window_change_signal): | ||
| 23 | * emacs.c (handle_fatal_signal, handle_danger_signal): | ||
| 24 | * keyboard.c (handle_input_available_signal): | ||
| 25 | * keyboard.c (handle_user_signal, handle_interrupt_signal): | ||
| 26 | * process.c (handle_pipe_signal, handle_child_signal): | ||
| 27 | New functions, with the actual signal-handling code taken from the | ||
| 28 | original respective signal handlers, sans the sporadic attempts to | ||
| 29 | preserve errno, since that's now done by handle_on_main_thread. | ||
| 30 | * atimer.c (alarm_signal_handler): Remove unnecessary decl. | ||
| 31 | * emacs.c, floatfns.c, lisp.h: Remove unused FLOAT_CATCH_SIGKILL cruft. | ||
| 32 | * emacs.c (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]: | ||
| 33 | Move to sysdep.c. | ||
| 34 | (main) [FORWARD_SIGNAL_TO_MAIN_THREAD]: | ||
| 35 | Move initialization of main_thread to sysdep.c's init_signals. | ||
| 36 | * process.c (waitpid) [!WNOHANG]: #define to wait; that's good enough for | ||
| 37 | our usage, and simplifies the mainline code. | ||
| 38 | (record_child_status_change): New static function, as a helper | ||
| 39 | for handle_child_signal, and with most of the old child handler's | ||
| 40 | contents. | ||
| 41 | (CAN_HANDLE_MULTIPLE_CHILDREN): New constant. | ||
| 42 | (handle_child_signal): Use the above. | ||
| 43 | * sysdep.c (main_thread) [FORWARD_SIGNAL_TO_MAIN_THREAD]: | ||
| 44 | Moved here from emacs.c. | ||
| 45 | (init_signals) [FORWARD_SIGNAL_TO_MAIN_THREAD]: Initialize it; | ||
| 46 | code moved here from emacs.c's main function. | ||
| 47 | * sysdep.c, syssignal.h (handle_on_main_thread): New function, | ||
| 48 | replacing the old SIGNAL_THREAD_CHECK. All uses changed. This | ||
| 49 | lets callers save and restore errno properly. | ||
| 50 | |||
| 51 | 2012-09-05 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 52 | |||
| 53 | Remove redundant or unused things here and there. | ||
| 54 | * lisp.h (CYCLE_CHECK, CHAR_TABLE_TRANSLATE): Remove. | ||
| 55 | * conf_post.h (RE_TRANSLATE): Use char_table_translate. | ||
| 56 | * editfns.c (Fcompare_buffer_substrings): Likewise. | ||
| 57 | * frame.h (struct terminal, struct font_driver_list): | ||
| 58 | Remove redundant declarations. | ||
| 59 | * window.h (Qleft, Qright): Likewise. | ||
| 60 | |||
| 61 | 2012-09-05 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 62 | |||
| 63 | Do not mark objects from deleted buffers, windows and frames. | ||
| 64 | * alloc.c (mark_buffer): Mark just the buffer if it is dead. | ||
| 65 | (mark_object): Likewise for windows and frames. | ||
| 66 | |||
| 67 | 2012-09-05 Dmitry Antipov <dmantipov@yandex.ru> | ||
| 68 | |||
| 69 | * alloc.c (valid_lisp_object_p): Treat killed buffers, | ||
| 70 | buffer_defaults and buffer_local_symbols as valid objects. | ||
| 71 | Return special value to denote them. | ||
| 72 | |||
| 73 | 2012-09-05 Paul Eggert <eggert@cs.ucla.edu> | ||
| 74 | |||
| 75 | * fileio.c, filelock.c, floatfns.c, fns.c: Use bool for boolean. | ||
| 76 | * fileio.c (auto_saving, auto_save_error_occurred, make_temp_name) | ||
| 77 | (Fexpand_file_name, barf_or_query_if_file_exists, Fcopy_file) | ||
| 78 | (file_name_absolute_p, Fsubstitute_in_file_name): | ||
| 79 | (check_executable, check_writable, Ffile_accessible_directory_p) | ||
| 80 | (Fset_file_selinux_context, Fdefault_file_modes) | ||
| 81 | (Finsert_file_contents, choose_write_coding_system) | ||
| 82 | (Fwrite_region, build_annotations, a_write, e_write) | ||
| 83 | (Fdo_auto_save): | ||
| 84 | * filelock.c (boot_time_initialized, get_boot_time) | ||
| 85 | (get_boot_time_1, lock_file_1, within_one_second): | ||
| 86 | * floatfns.c (in_float): | ||
| 87 | * fns.c (concat, internal_equal, Frequire, base64_encode_1) | ||
| 88 | (base64_decode_1, cmpfn_eql, cmpfn_user_defined) | ||
| 89 | (sweep_weak_table, sweep_weak_hash_tables, secure_hash): | ||
| 90 | * lisp.h (struct Lisp_Hash_Table.cmpfn): | ||
| 91 | * window.c (compare_window_configurations): | ||
| 92 | Use bool for booleans. | ||
| 93 | * fileio.c (auto_saving_dir_umask, auto_saving_mode_bits) | ||
| 94 | (Fdefault_file_modes): Now mode_t, not int, for modes. | ||
| 95 | (Fdo_auto_save): Set a boolean to 1 rather than using ++. | ||
| 96 | (internal_delete_file): Now returns void, not a (boolean) int, | ||
| 97 | since nobody was looking at the return value. | ||
| 98 | * lisp.h, window.h: Adjust to above API changes. | ||
| 99 | |||
| 100 | * xdisp.c (set_message): Simplify and reindent last change. | ||
| 101 | |||
| 1 | 2012-09-05 Juanma Barranquero <lekktu@gmail.com> | 102 | 2012-09-05 Juanma Barranquero <lekktu@gmail.com> |
| 2 | 103 | ||
| 3 | * makefile.w32-in ($(BLD)/sysdep.$(O)): Update dependencies. | 104 | * makefile.w32-in ($(BLD)/sysdep.$(O)): Update dependencies. |