bionic/tests
msg555 0f020d18b1 Handles spurious wake-ups in pthread_join()
Removed 'join_count' from pthread_internal_t and switched to using the flag
PTHREAD_ATTR_FLAG_JOINED to indicate if a thread is being joined. Combined with
a switch to a while loop in pthread_join, this fixes spurious wake-ups but
prevents a thread from being joined multiple times. This is fine for
two reasons:

1) The pthread_join specification allows for undefined behavior when multiple
   threads try to join a single thread.

2) There is no thread safe way to allow multiple threads to join a single
   thread with the pthread interface.  The second thread calling pthread_join
   could be pre-empted until the thread is destroyed and its handle reused for
   a different thread.  Therefore multi-join is always an error.

Bug: https://code.google.com/p/android/issues/detail?id=52255
Change-Id: I8b6784d47620ffdcdbfb14524e7402e21d46c5f7
2013-06-12 17:30:58 -07:00
..
Android.mk Implement malloc_usable_size for debug impls. 2013-06-07 14:55:32 -07:00
benchmark_main.cpp Improve benchmarking tool, add a few math benchmarks. 2013-02-06 15:47:09 -08:00
benchmark.h Improve benchmarking tool, add a few math benchmarks. 2013-02-06 15:47:09 -08:00
dirent_test.cpp Fix __pthread_clone on ARM to set errno on failure. 2013-02-11 16:39:10 -08:00
dlfcn_test.cpp Don't test GNU-style ELF hashes on MIPS. 2013-01-07 14:44:36 -08:00
empty.cpp Reject .so files with no sysv hash table. 2012-10-31 14:30:50 -07:00
eventfd_test.cpp Prevent name conflict for eventfd.cpp and eventfd.s when building libc.a 2013-04-03 11:10:37 -07:00
fenv_test.cpp Upgrade libm. 2013-02-01 14:51:19 -08:00
fortify1_test.cpp fix unittests. 2013-06-11 15:45:23 -07:00
fortify2_test.cpp fix unittests. 2013-06-11 15:45:23 -07:00
getauxval_test.cpp libc: add getauxval() 2013-01-11 16:44:15 -08:00
getcwd_test.cpp Fix __pthread_clone on ARM to set errno on failure. 2013-02-11 16:39:10 -08:00
libc_logging_test.cpp Clean up internal libc logging. 2013-03-15 16:12:58 -07:00
libgen_test.cpp Clean up the <libgen.h> implementation a little, bring in tests. 2012-10-29 14:27:10 -07:00
malloc_test.cpp Implement malloc_usable_size for debug impls. 2013-06-07 14:55:32 -07:00
math_benchmark.cpp Improve benchmarking tool, add a few math benchmarks. 2013-02-06 15:47:09 -08:00
math_test.cpp Put the right number of Ls after 64-bit constants. 2013-02-12 20:18:49 -08:00
netdb_test.cpp Update getnameinfo.c, remove dead code, and fix error reporting. 2013-02-13 13:11:11 -08:00
pthread_test.cpp Handles spurious wake-ups in pthread_join() 2013-06-12 17:30:58 -07:00
regex_test.cpp Switch to the current NetBSD regex implementation. 2012-08-15 15:39:11 -07:00
signal_test.cpp Fix raise(3) so it works in signal handlers. 2013-02-21 11:22:23 -08:00
stack_protector_test.cpp fix unittests. 2013-06-11 15:45:23 -07:00
stdio_test.cpp Start moving to current FreeBSD stdio. 2013-04-11 13:55:01 -07:00
stdlib_test.cpp Switch to current FreeBSD qsort. 2013-04-11 18:08:34 -07:00
string_benchmark.cpp Improve benchmarking tool, add a few math benchmarks. 2013-02-06 15:47:09 -08:00
string_test.cpp Add tests for __strcpy_chk() 2013-06-04 11:55:08 -07:00
strings_test.cpp Everyone has CLZ. 2013-02-13 14:40:48 -08:00
stubs_test.cpp Fix __pthread_clone on ARM to set errno on failure. 2013-02-11 16:39:10 -08:00
time_benchmark.cpp Cache the most-recently used timezone for mktime_tz and localtime_tz. 2013-03-11 17:17:02 -07:00
time_test.cpp Don't search off the end of the index for bad Olson ids. 2013-03-14 14:38:08 -07:00
unistd_test.cpp Remove bogus extra alignment from sbrk. 2013-02-05 16:10:59 -08:00