No description
Find a file
Hans Boehm 7f27cbc3f4 Fix race bug in attemptIncStrong
The compensating onLastStrongRef call could be made even when there
was no onIncStrongAttempted call to compensate for.  This
happened in the OBJECT_LIFETIME_STRONG case when e.g. curCount
was initially zero, but was concurrently incremented by another
thread.

I believe the old code was also incorrect in the
curCount = INITIAL_STRONG_VALUE + 1 case,
which seems to be possible under unlikely conditions.
In that case, I believe the compensating call IS needed.
Thus the condition was also changed.

Bug: 30503444
Change-Id: I44bcbcbb1264e4b52b6d3750dc39b041c4140381
2016-07-29 14:39:10 -07:00
adb Use arraysize() for supplementary groups. 2016-07-18 13:46:42 -04:00
adf Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
base Convert libbase Android.mk to Android.bp 2016-07-11 14:23:32 -07:00
bootstat Don't hardcode gtest paths. 2016-04-26 13:28:23 -07:00
cpio fs_config: replace getenv('OUT') by new fs_config parameter 2015-07-09 21:47:07 -07:00
crash_reporter crash_reporter: Mark the euid parameter as __unused. 2016-02-26 15:44:46 -08:00
debuggerd Disable warnings triggered in Clang r271374 2016-07-19 20:29:05 +00:00
fastboot Remove unnecessary ARRAY_SIZE macros. 2016-06-28 14:48:45 -07:00
fingerprintd Fix google-explicit-constructor warnings. 2016-04-29 15:44:04 -07:00
fs_mgr Make klog_fd thread-safe and make klog_init a no-op. 2016-06-29 16:16:41 -07:00
gatekeeperd Fix google-explicit-constructor warnings. 2016-04-29 15:44:04 -07:00
healthd Merge "Fix misc-macro-parentheses warnings in system/core." 2016-06-22 22:35:02 +00:00
include Merge "LruCache: avoid copying keys in lookup" 2016-07-20 19:38:47 +00:00
init init: select usb gadget controller at run time 2016-07-15 15:01:43 -07:00
libbacktrace Convert libbacktrace, libutils to Soong 2016-07-12 17:20:18 -07:00
libbinderwrapper core: Update libchrome APIs to r395517 2016-05-26 11:29:53 -07:00
libcrypto_utils Fix include-what-you-use problem in android-pubkey.c. 2016-04-15 17:44:05 -04:00
libcutils Merge "Add ioprio values directly." 2016-07-20 18:03:48 +00:00
libdiskconfig Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
libion Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
liblog liblog: pmsg_read add validity checking for prio 2016-07-14 07:34:53 -07:00
libmemtrack Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
libmemunreachable Remove unnecessary ARRAY_SIZE macros. 2016-06-28 14:48:45 -07:00
libnativebridge Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
libnativeloader Add support to indicate bitness of public library. 2016-06-22 11:21:21 -07:00
libnetutils libnetutils: Add synchronization per socket full operation 2016-06-07 10:11:59 -07:00
libpackagelistparser Convert libpackagelistparser to Android.bp 2016-07-19 22:19:37 -07:00
libpixelflinger Remove dead rotate90CW_4x4_16v6.S. 2016-07-13 17:58:34 -07:00
libprocessgroup use process groups for processes started by init 2016-06-06 16:31:01 -07:00
libsparse Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
libsuspend Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
libsync Cleanup uses of sprintf so we can deprecate it. 2016-03-07 18:40:40 -08:00
libsysutils Clean up CLOEXEC in SocketListener. 2016-02-19 18:14:22 -08:00
libusbhost libusbhost: Fix problem reading USB string descriptors on some quirky devices 2015-06-18 13:38:31 -07:00
libutils Fix race bug in attemptIncStrong 2016-07-29 14:39:10 -07:00
libziparchive Convert libziparchive from Android.mk to Android.bp 2016-07-12 21:01:08 -07:00
lmkd Fix misc-macro-parentheses warnings in lmkd. 2016-05-18 15:37:20 -07:00
logcat logcatd: trampoline persist.logd.logpersistd to logd.logpersistd 2016-07-08 11:06:06 -07:00
logd Merge "logd: auditd: suppress multiple identical avc: messages to kmsg" 2016-07-20 20:30:52 +00:00
logwrapper Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
metricsd core: Update libchrome APIs to r395517 2016-05-26 11:29:53 -07:00
mkbootimg mkbootimg: use int for os_version and os_patch_level 2016-03-29 16:06:37 -07:00
reboot Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
rootdir Remove attempt to write sched_compat_yield 2016-07-11 11:41:56 -07:00
run-as run-as: Use Minijail for privilege dropping. 2016-07-19 11:03:52 -04:00
sdcard sdcard: Use std::map. 2016-07-19 17:01:15 -04:00
toolbox Lose sendevent to toybox. 2016-07-15 14:17:28 -07:00
trusty Fix misc-macro-parentheses warnings in system/core. 2016-06-22 14:33:13 -07:00
tzdatacheck Convert more Android.mk files to Android.bp 2016-07-13 17:41:45 -07:00
.gitignore Ignore adb/*.pyc files 2015-08-11 12:59:58 -07:00
Android.mk Remove the simulator target from all makefiles. 2011-07-11 22:12:32 -07:00
CleanSpec.mk Use BOARD_USES_VENDORIMAGE to detect vendor image presence 2016-07-08 18:17:48 -07:00
MODULE_LICENSE_APACHE2 auto import from //depot/cupcake/@135843 2013-07-30 13:56:49 -07:00
NOTICE Fix omission in NOTICE file. 2013-07-30 13:56:55 -07:00