aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog6
-rw-r--r--time/tzset.c4
2 files changed, 8 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index e6db8ef0ba..0d5c1f1fd2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2015-02-24 Kevin Easton <kevin@guarana.org>
+
+ [BZ #16145] (partial fix)
+ * time/tzset.c (__tz_convert): Unlock tzset_lock earlier
+ to reduce lock contention.
+
2015-02-24 Miroslav Lichvar <mlichvar@redhat.com>
* sysdeps/unix/sysv/linux/bits/timex.h: Update version.
diff --git a/time/tzset.c b/time/tzset.c
index 8bc7a2e05b..82324ca980 100644
--- a/time/tzset.c
+++ b/time/tzset.c
@@ -644,6 +644,8 @@ __tz_convert (const time_t *timer, int use_localtime, struct tm *tp)
leap_extra_secs = 0;
}
+ __libc_lock_unlock (tzset_lock);
+
if (tp)
{
if (! use_localtime)
@@ -659,8 +661,6 @@ __tz_convert (const time_t *timer, int use_localtime, struct tm *tp)
tp = NULL;
}
- __libc_lock_unlock (tzset_lock);
-
return tp;
}