diff options
Diffstat (limited to 'src/ChangeLog')
| -rw-r--r-- | src/ChangeLog | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 01e137d2fcc..bf297616e82 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,21 @@ | |||
| 1 | 2012-05-02 Paul Eggert <eggert@cs.ucla.edu> | ||
| 2 | |||
| 3 | Fix race conditions involving setenv, gmtime, localtime, asctime. | ||
| 4 | Without this fix, interrupts could mess up code that uses these | ||
| 5 | nonreentrant functions, since setting TZ invalidates existing | ||
| 6 | tm_zone or tzname values, and since most of these functions return | ||
| 7 | pointers to static storage. | ||
| 8 | * editfns.c (format_time_string, Fdecode_time, Fencode_time) | ||
| 9 | (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule): | ||
| 10 | Grow the critical sections to include not just invoking | ||
| 11 | localtime/gmtime, but also accessing these functions' results | ||
| 12 | including their tm_zone values if any, and any related TZ setting. | ||
| 13 | (format_time_string): Last arg is now struct tm *, not struct tm **, | ||
| 14 | so that the struct tm is saved in the critical section. All | ||
| 15 | callers changed. Simplify allocation of initial buffer, partly | ||
| 16 | motivated by the fact that memory allocation needs to be outside | ||
| 17 | the critical section. | ||
| 18 | |||
| 1 | 2012-05-02 Dmitry Antipov <dmantipov@yandex.ru> | 19 | 2012-05-02 Dmitry Antipov <dmantipov@yandex.ru> |
| 2 | 20 | ||
| 3 | * intervals.c (adjust_intervals_for_insertion): Initialize `newi' | 21 | * intervals.c (adjust_intervals_for_insertion): Initialize `newi' |