diff options
| author | Paul Eggert | 2013-07-11 19:03:47 -0700 |
|---|---|---|
| committer | Paul Eggert | 2013-07-11 19:03:47 -0700 |
| commit | bacba3c26522ef297662bace31947d3e4f47c87a (patch) | |
| tree | 7937ff9ad18bca16aff3ecf1f791632a8dec2ce3 /src/ChangeLog | |
| parent | 1048af7c8ff6e8a84f802fbe655b95c261a6afc0 (diff) | |
| download | emacs-bacba3c26522ef297662bace31947d3e4f47c87a.tar.gz emacs-bacba3c26522ef297662bace31947d3e4f47c87a.zip | |
Fix races with threads and file descriptors.
* configure.ac (PTY_TTY_NAME_SPRINTF): Use emacs_close, not close.
* src/callproc.c (Fcall_process_region):
* src/dired.c (open_directory):
* src/emacs.c (main, Fdaemon_initialized):
* src/image.c (x_find_image_file):
* src/inotify.c (Finotify_rm_watch):
* src/lread.c (Flocate_file_internal):
* src/process.c (Fnetwork_interface_list, Fnetwork_interface_info):
* src/term.c (term_mouse_moveto, init_tty):
* src/termcap.c (tgetent):
* src/unexaix.c, src/unexcoff.c (report_error, report_error_1, adjust_lnnoptrs)
* src/unexaix.c, src/unexcoff.c, src/unexcw.c, src/unexelf.c (unexec):
* src/unexhp9k800.c, src/unexmacosx.c (unexec):
* src/callproc.c (Fcall_process_region):
Use emacs_close, not close.
* src/sysdep.c (POSIX_CLOSE_RESTART, posix_close) [!POSIX_CLOSE_RESTART]:
New macro and function, which emulates the POSIX_CLOSE_RESTART macro
and posix_close function on current platforms (which all lack them).
(emacs_close): Use it. This should fix the races on GNU/Linux and
on AIX and on future platforms that support POSIX_CLOSE_RESTART,
and it should avoid closing random victim file descriptors on
other platforms.
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 04d5a024672..20c8be63cd6 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,28 @@ | |||
| 1 | 2013-07-12 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Fix races with threads and file descriptors. | ||
| 4 | * callproc.c (Fcall_process_region): | ||
| 5 | * dired.c (open_directory): | ||
| 6 | * emacs.c (main, Fdaemon_initialized): | ||
| 7 | * image.c (x_find_image_file): | ||
| 8 | * inotify.c (Finotify_rm_watch): | ||
| 9 | * lread.c (Flocate_file_internal): | ||
| 10 | * process.c (Fnetwork_interface_list, Fnetwork_interface_info): | ||
| 11 | * term.c (term_mouse_moveto, init_tty): | ||
| 12 | * termcap.c (tgetent): | ||
| 13 | * unexaix.c, unexcoff.c (report_error, report_error_1, adjust_lnnoptrs) | ||
| 14 | * unexaix.c, unexcoff.c, unexcw.c, unexelf.c (unexec): | ||
| 15 | * unexhp9k800.c, unexmacosx.c (unexec): | ||
| 16 | * callproc.c (Fcall_process_region): | ||
| 17 | Use emacs_close, not close. | ||
| 18 | * sysdep.c (POSIX_CLOSE_RESTART, posix_close) [!POSIX_CLOSE_RESTART]: | ||
| 19 | New macro and function, which emulates the POSIX_CLOSE_RESTART macro | ||
| 20 | and posix_close function on current platforms (which all lack them). | ||
| 21 | (emacs_close): Use it. This should fix the races on GNU/Linux and | ||
| 22 | on AIX and on future platforms that support POSIX_CLOSE_RESTART, | ||
| 23 | and it should avoid closing random victim file descriptors on | ||
| 24 | other platforms. | ||
| 25 | |||
| 1 | 2013-07-11 Paul Eggert <eggert@cs.ucla.edu> | 26 | 2013-07-11 Paul Eggert <eggert@cs.ucla.edu> |
| 2 | 27 | ||
| 3 | * inotify.c (uninitialized): Remove. All uses replaced by -1. | 28 | * inotify.c (uninitialized): Remove. All uses replaced by -1. |