svn commit: r194783 - head/lib/libc/stdtime
M. Warner Losh
imp at bsdimp.com
Wed Nov 18 03:51:34 UTC 2009
In message: <4B01E548.7040708 at gmail.com>
Dmitry Pryanishnikov <lynx.ripe at gmail.com> writes:
:
: Hello!
:
: > Author: edwin
: > Date: Tue Jun 23 22:28:44 2009
: > New Revision: 194783
: > URL: http://svn.freebsd.org/changeset/base/194783
: >
: > Log:
: > Remove duplicate if-statement on gmt_is_set in gmtsub().
: >
: > MFC after: 1 week
: >
: > Modified:
: > head/lib/libc/stdtime/localtime.c
: >
: > Modified: head/lib/libc/stdtime/localtime.c
: > ==============================================================================
: > --- head/lib/libc/stdtime/localtime.c Tue Jun 23 22:22:20 2009 (r194782)
: > +++ head/lib/libc/stdtime/localtime.c Tue Jun 23 22:28:44 2009 (r194783)
: > @@ -1472,18 +1472,16 @@ struct tm * const tmp;
: > {
: > register struct tm * result;
: >
: > + _MUTEX_LOCK(&gmt_mutex);
: > if (!gmt_is_set) {
: > - _MUTEX_LOCK(&gmt_mutex);
: > - if (!gmt_is_set) {
:
: This change looks like a (small?) pessimization to me: before it,
: _MUTEX_LOCK/_MUTEX_UNLOCK pair would be skipped for the case gmt_is_set
: == TRUE (all invocations except the first one), now it won't. I'm not
: sure whether this is critical here though...
I think this is a big pessimization. gmt_is_set code only needs to
execute once, and this code was designed to be lockless once
gmt_is_set was set...
Warner
More information about the svn-src-head
mailing list