diff options
author | David 'Digit' Turner <digit@google.com> | 2010-03-10 16:44:08 -0800 |
---|---|---|
committer | David 'Digit' Turner <digit@google.com> | 2010-03-11 11:48:38 -0800 |
commit | ba9c6f0989ae94778ba2b9f597adc827c9dc81e8 (patch) | |
tree | 2376f2a87f6ac304bd93beca7c8139b890a6227f /libc/docs/CHANGES.TXT | |
parent | 1cfbda826ce66e9bd1507a31b7e6df62e0dbcc6e (diff) | |
download | bionic-ba9c6f0989ae94778ba2b9f597adc827c9dc81e8.zip bionic-ba9c6f0989ae94778ba2b9f597adc827c9dc81e8.tar.gz bionic-ba9c6f0989ae94778ba2b9f597adc827c9dc81e8.tar.bz2 |
bionic: pthread: use private futexes by default for mutexes and condvars
Private futexes are a recent kernel addition: faster futexes that cannot be
shared between processes. This patch uses them by default, unless the PROCESS_SHARED
attribute flag is used when creating a mutex and/or conditional variable.
Also introduces pthread_condattr_init/destroy/setpshared/getpshared.
Change-Id: I3a0e2116f467072b046524cb5babc00e41057a53
Diffstat (limited to 'libc/docs/CHANGES.TXT')
-rw-r--r-- | libc/docs/CHANGES.TXT | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/libc/docs/CHANGES.TXT b/libc/docs/CHANGES.TXT index 4f87547..2e3ba62 100644 --- a/libc/docs/CHANGES.TXT +++ b/libc/docs/CHANGES.TXT @@ -80,6 +80,16 @@ Differences between current and Android 2.1: an unknown domain name. Due to an initialization bug, a random DNS search list was generated for each thread is net.dns.search is not defined. +- <pthread.h>: Add pthread_condattr_init/destroy/setpshared/getpshared. + Also modify mutex and condvar implementation to use private futexes by + default, unless PROCESS_SHARED is specified in the init attributes. + + Private futexes are limited to a single address space and can't be shared + among processes. However they are much faster to wake/wait for. This should + speed up mutex and condvar operations. + + NOTE: PROCESS_SHARED mutexes are still NOT robust (see note below). + ------------------------------------------------------------------------------- Differences between Android 2.1 and 2.0.1: |