diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2011-06-27 10:13:11 +0000 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2011-06-27 10:13:11 +0000 |
commit | 7e055fdf3938affa8b2156f614221b6f20ec9efb (patch) | |
tree | b1cad7402e0cacc7d13938e10fee703fd8269545 /newlib | |
parent | b9a5b2c45f70c7b85e17557a4050a198d3b805d6 (diff) | |
download | cygnal-7e055fdf3938affa8b2156f614221b6f20ec9efb.tar.gz cygnal-7e055fdf3938affa8b2156f614221b6f20ec9efb.tar.bz2 cygnal-7e055fdf3938affa8b2156f614221b6f20ec9efb.zip |
* libc/time/mktime.c (mktime): Lock global timezone info while
accessing it.
Diffstat (limited to 'newlib')
-rw-r--r-- | newlib/ChangeLog | 5 | ||||
-rw-r--r-- | newlib/libc/time/mktime.c | 4 |
2 files changed, 9 insertions, 0 deletions
diff --git a/newlib/ChangeLog b/newlib/ChangeLog index cc2926b2d..2c7ecc7ea 100644 --- a/newlib/ChangeLog +++ b/newlib/ChangeLog @@ -1,3 +1,8 @@ +2011-06-25 Andreas Becker <becker@se-elektronic.de> + + * libc/time/mktime.c (mktime): Lock global timezone info while + accessing it. + 2011-06-14 Philip Munts <phil@munts.net> * libc/time/asctime_r.c (asctime_r): Replace call to sprintf with call diff --git a/newlib/libc/time/mktime.c b/newlib/libc/time/mktime.c index d75d7cc85..acd5d3aa0 100644 --- a/newlib/libc/time/mktime.c +++ b/newlib/libc/time/mktime.c @@ -208,6 +208,8 @@ _DEFUN(mktime, (tim_p), tm_isdst = tim_p->tm_isdst > 0 ? 1 : tim_p->tm_isdst; isdst = tm_isdst; + TZ_LOCK; + if (_daylight) { int y = tim_p->tm_year + YEAR_BASE; @@ -257,6 +259,8 @@ _DEFUN(mktime, (tim_p), else /* otherwise assume std time */ tim += (time_t) tz->__tzrule[0].offset; + TZ_UNLOCK; + /* reset isdst flag to what we have calculated */ tim_p->tm_isdst = isdst; |