diff options
author | Corinna Vinschen <corinna@vinschen.de> | 2015-03-31 11:22:50 +0200 |
---|---|---|
committer | Corinna Vinschen <corinna@vinschen.de> | 2015-04-23 21:57:08 +0200 |
commit | b3a09ae34bd691c95bc41a594a40a808455d748a (patch) | |
tree | a5a692e255bbc1ee7473c4a5426e333e51858464 /newlib/libc/time/mktime.c | |
parent | c11779332651dd2f3b12f5ec48202fa7e547272b (diff) | |
download | cygnal-b3a09ae34bd691c95bc41a594a40a808455d748a.tar.gz cygnal-b3a09ae34bd691c95bc41a594a40a808455d748a.tar.bz2 cygnal-b3a09ae34bd691c95bc41a594a40a808455d748a.zip |
Avoid excessive locking and calling tzset in time functions.
* libc/time/lcltime_r.c (localtime_r): Call _tzset_unlocked inside
TZ lock.
* libc/time/mktime.c (mktime): Ditto.
* libc/time/strftime.c (strftime, wcsftime): Ditto. Guard against
calling _tzset_unlocked more than once (baring recursion).
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
Diffstat (limited to 'newlib/libc/time/mktime.c')
-rw-r--r-- | newlib/libc/time/mktime.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/newlib/libc/time/mktime.c b/newlib/libc/time/mktime.c index 8669fbdfb..44c0257f7 100644 --- a/newlib/libc/time/mktime.c +++ b/newlib/libc/time/mktime.c @@ -197,10 +197,10 @@ _DEFUN(mktime, (tim_p), /* compute total seconds */ tim += (days * _SEC_IN_DAY); - tzset (); - TZ_LOCK; + _tzset_unlocked (); + if (_daylight) { int tm_isdst; |