about summary refs log tree commit diff
path: root/src/misc/syslog.c
Commit message (Collapse)AuthorAgeFilesLines
* ditch the priority inheritance locks; use malloc's version of lockRich Felker2012-04-241-9/+9
| | | | | | | | | | | | | | | | | | | 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).
* protect syslog against cancellationRich Felker2011-04-181-5/+19
| | | | | | these functions are allowed to be cancellation points, but then we would have to install cleanup handlers to avoid termination with locks held.
* simplify syslog, add vsyslog interface (nonstandard)Rich Felker2011-04-131-31/+36
| | | | | | | | with datagram sockets, depending on fprintf not to flush the output early was very fragile; the new version simply uses a small fixed-size buffer. it could be updated to dynamic-allocate large buffers if needed, but i can't envision any admin being happy about finding 64kb-long lines in their syslog...
* remove useless SIGPIPE protection from syslogRich Felker2011-04-131-9/+0
| | | | per the standard, SIGPIPE is not generated for SOCK_DGRAM.
* fix syslog (corrected SIGPIPE blocking, and using dgram instead of stream)Rich Felker2011-04-131-10/+8
| | | | | | it actually appears the hacks to block SIGPIPE are probably not necessary, and potentially harmful. if i can confirm this, i'll remove them.
* initial check-in, version 0.5.0 v0.5.0Rich Felker2011-02-121-0/+115