about summary refs log tree commit diff
path: root/src/time/tzset.c
Commit message (Collapse)AuthorAgeFilesLines
* the big time handling overhaulRich Felker2013-07-171-172/+0
| | | | | | | | | | this commit has two major user-visible parts: zoneinfo-format time zones are now supported, and overflow handling is intended to be complete in the sense that all functions return a correct result if and only if the result fits in the destination type, and otherwise return an error. also, some noticable bugs in the way DST detection and normalization worked have been fixed, and performance may be better than before, but it has not been tested.
* ditch the priority inheritance locks; use malloc's version of lockRich Felker2012-04-241-3/+3
| | | | | | | | | | | | | | | | | | | i did some testing trying to switch malloc to use the new internal lock with priority inheritance, and my malloc contention test got 20-100 times slower. if priority inheritance futexes are this slow, it's simply too high a price to pay for avoiding priority inversion. maybe we can consider them somewhere down the road once the kernel folks get their act together on this (and perferably don't link it to glibc's inefficient lock API)... as such, i've switch __lock to use malloc's implementation of lightweight locks, and updated all the users of the code to use an array with a waiter count for their locks. this should give optimal performance in the vast majority of cases, and it's simple. malloc is still using its own internal copy of the lock code because it seems to yield measurably better performance with -O3 when it's inlined (20% or more difference in the contention stress test).
* fix assumptions that char is signedRich Felker2011-09-161-2/+2
|
* remove incorrectly-made-visible internal dst offset variableRich Felker2011-09-141-1/+0
|
* initial check-in, version 0.5.0 v0.5.0Rich Felker2011-02-121-0/+173