c9a659c57b256001fd63f9825bde69e660c2655b |
|
06-Nov-2015 |
Yabin Cui <yabinc@google.com> |
Use FUTEX_WAIT_BITSET to avoid converting timeouts. Add unittests for pthread APIs with timeout parameter. Bug: 17569991 Change-Id: I6b3b9b2feae03680654cd64c3112ce7644632c87
|
fe3a83a9343f0e4ff654f09ef8ffc8a773c7c105 |
|
18-Nov-2015 |
Yabin Cui <yabinc@google.com> |
Implement pthread spin. In order to run tsan unit tests, we need to support pthread spin APIs. Bug: 18623621 Bug: 25392375 Change-Id: Icbb4a74e72e467824b3715982a01600031868e29
|
d26e780df66b9add4cf7e7ebb2f6c6749d1c5050 |
|
23-Oct-2015 |
Yabin Cui <yabinc@google.com> |
Use bionic lock in pthread_internal_t. It removes calling to pthread_mutex_lock() at the beginning of new thread, which helps to support thread sanitizer. Change-Id: Ia3601c476de7976a9177b792bd74bb200cee0e13
|
76615dae93c18ac890e167c547a08c0228709a33 |
|
17-Mar-2015 |
Yabin Cui <yabinc@google.com> |
Provide writer preference option in rwlock. Previous implementation of rwlock contains four atomic variables, which is hard to maintain and change. So I make following changes in this CL: 1. Add pending flags in rwlock.state, so we don't need to synchronize between different atomic variables. Using compare_and_swap operations on rwlock.state is enough for all state change. 2. Add pending_lock to protect readers/writers waiting and wake up operations. As waiting/wakeup is not performance critical, using a lock is easier to maintain. 3. Add writer preference option. 4. Add unit tests for rwlock. Bug: 19109156 Change-Id: Idcaa58d695ea401d64445610b465ac5cff23ec7c
|