summaryrefslogtreecommitdiffstats
path: root/lib/libthr/thread/thr_rtld.c
Commit message (Collapse)AuthorAgeFilesLines
* When libthr and rtld start up, there are a number of magic spells castpeter2008-12-071-1/+1
| | | | | | | | | | | | | | in order to get the symbol binding state "just so". This is to allow locking to be activated and not run into recursion problems later. However, one of the magic bits involves an explicit call to _umtx_op() to force symbol resolution. It does a wakeup operation on a fake, uninitialized (ie: random contents) umtx. Since libthr isn't active, this is harmless. Nothing can match the random wakeup. However, valgrind finds this and is not amused. Normally I'd just write a suppression record for it, but the idea of passing random args to syscalls (on purpose) just doesn't feel right.
* Provide custom simple allocator for rtld locks in libthr. The allocatorkib2008-12-021-23/+23
| | | | | | | | | does not use any external symbols, thus avoiding possible recursion into rtld to resolve symbols, when called. Reviewed by: kan, davidxu Tested by: rink MFC after: 1 month
* Use native rwlock.davidxu2008-04-221-54/+20
|
* Replace function _umtx_op with _umtx_op_err, the later function directlydavidxu2008-04-021-1/+1
| | | | | | returns errno, because errno can be mucked by user's signal handler and most of pthread api heavily depends on errno to be correct, this change should improve stability of the thread library.
* Resolve __error()'s PLT early so that it needs not to be resolved again,davidxu2008-03-211-0/+3
| | | | | otherwise rwlock is recursivly called when signal happens and the __error was never resolved before.
* Preserve application code's errno in rtld locking code, it attemps to keepdavidxu2008-03-201-2/+31
| | | | any case safe.
* Remove umtx_t definition, use type long directly, add wrapper functiondavidxu2007-11-211-5/+5
| | | | | _thr_umtx_wait_uint() for umtx operation UMTX_OP_WAIT_UINT, use the function in semaphore operations, this fixed compiler warnings.
* WARNS level 4 cleanup.davidxu2006-04-041-2/+2
|
* Only wake up writer if the lock is free.davidxu2006-03-251-2/+2
|
* Add locking support for rtld.davidxu2006-03-251-0/+219
OpenPOWER on IntegriCloud