platform_bionic/libc
Christopher Ferris 62d84b1935 Fix race condition in timer disarm/delete.
When setting a repeat timer using the SIGEV_THREAD mechanism, it's possible
that the callback can be called after the timer is disarmed or deleted.
This happens because the kernel can generate signals that the timer thread
will continue to handle even after the timer is supposed to be off.

Add two new tests to verify that disarming/deleting doesn't continue to
call the callback.

Modify the repeat test to finish more quickly than before.

Refactor the Counter implementation a bit.

Bug: 18039727

(cherry pick from commit 0724132c32)

Change-Id: I135726ea4038a47920a6c511708813b1a9996c42
2014-10-22 13:20:39 -07:00
..
arch-arm Fix generic __memcpy_chk implementation. 2014-10-17 14:44:36 -07:00
arch-arm64 Add clock_settime and clock_nanosleep. 2014-10-13 17:04:10 -07:00
arch-common/bionic Revert "Register __libc_fini as early as possible." 2014-09-04 21:54:34 +00:00
arch-mips Add clock_settime and clock_nanosleep. 2014-10-13 17:04:10 -07:00
arch-mips64 Add clock_settime and clock_nanosleep. 2014-10-13 17:04:10 -07:00
arch-x86 Replace ambiguous cmp operator with cmpl. 2014-10-21 16:25:35 -07:00
arch-x86_64 Add clock_settime and clock_nanosleep. 2014-10-13 17:04:10 -07:00
bionic Fix race condition in timer disarm/delete. 2014-10-22 13:20:39 -07:00
dns Replace uses of sprintf(3) with snprintf(3). 2014-10-08 16:12:27 -07:00
include Rename library_offset to library_fd_offset 2014-10-21 13:51:08 -07:00
kernel Move to v3.16.3 kernel headers. 2014-09-18 13:14:58 -07:00
private Add semaphore tests, fix sem_destroy. 2014-09-19 17:37:06 -07:00
stdio Add back symbols to fix Greed for Glory franchise. 2014-10-09 22:23:50 -07:00
tools Force export symbols on all x86 variants in libc. 2014-10-06 16:41:46 -07:00
tzcode Use snprintf(3) instead of sprintf(3). 2014-10-08 17:10:26 -07:00
upstream-dlmalloc Return total footprint, not high water mark. 2014-10-13 12:45:35 -07:00
upstream-freebsd Update our FreeBSD realpath(3) to upstream head. 2014-09-30 16:40:41 -07:00
upstream-netbsd Switch to OpenBSD insque/remque/killpg. 2014-09-23 14:06:56 -07:00
upstream-openbsd Switch to OpenBSD fopen/fclose. 2014-09-24 11:14:36 -07:00
zoneinfo Update bionic to tzdata 2014h. 2014-09-30 17:35:38 -07:00
Android.mk Merge "Never use ASAN." 2014-10-21 18:28:19 +00:00
crt.mk Reconfig libc's Android.mk to build for multilib 2014-02-12 13:58:34 -08:00
MODULE_LICENSE_BSD
NOTICE Update NOTICE files. 2014-09-13 09:42:41 -07:00
SYSCALLS.TXT Add clock_settime and clock_nanosleep. 2014-10-13 17:04:10 -07:00