Go to file
David 'Digit' Turner b57db7581c libc: Fix recursive mutex lock implementation.
This fixes a bug that was introduced in the latest pthread optimization.
It happens when a recursive lock is contented by several threads. The main
issue was that the atomic counter increment in _recursive_increment() could
be annihilated by a non-conditional write in pthread_mutex_lock() used to
update the value's lower bits to indicate contention.

This patch re-introduces the use of the global recursive lock in
_recursive_increment(). This will hit performance, but a future patch
will be provided to remove it from the source code.

Change-Id: Ie22069d376cebf2e7d613ba00b6871567f333544
2012-01-24 13:20:38 +01:00
libc libc: Fix recursive mutex lock implementation. 2012-01-24 13:20:38 +01:00
libdl fix prototype of dladdr 2011-09-28 12:17:34 -07:00
libm am 32ca348e: am ce0d646c: resolved conflicts for merge of 6cda7b62 to gingerbread-plus-aosp 2011-09-29 21:09:08 -07:00
libstdc++ bionic: Do not use <sys/atomics.h> for platform code. 2011-11-16 16:28:10 +01:00
libthread_db bionic, libthread_db x86 fixes 2011-04-27 09:12:58 -07:00
linker Execute .preinit_array before any shared object initialization functions. 2012-01-10 13:30:41 +04:00
.gitignore Merge memory checking functionality from sandbox 2010-02-16 11:43:18 -08:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:11:41 -07:00
CleanSpec.mk Add an empty CleanSpec.mk 2010-03-08 18:04:02 -08:00
MAINTAINERS added and modified libm to support SuperH architecture 2009-08-31 16:25:42 +09:00
ThirdPartyProject.prop add meta-files about 3rd party projects 2010-07-16 11:41:33 -07:00