platform_system_core/libbacktrace
Christopher Ferris 0c572d01af Fix race condition updating local map data.
If the underlying local map changes, it's possible for multiple
threads to try and modify the map data associated with the UnwindLocalMap
object. Add a lock when generating the local map to avoid this problem.

In addition, add a read lock whenever any caller gets the maps iterator.
Updated all iterator callers to make this lock.

Bug: 29387050
Bug: 31067025

(cherry picked from commit 3a14004c7f)

Change-Id: Id00116f156a24b36085c0d5dfc3dde4d2ac55194
2016-08-25 15:01:53 -07:00
..
Android.build.mk libbacktrace: don't let llvm cflags cover libbacktrace's cflags. 2015-09-24 17:46:27 -07:00
Android.mk libbacktrace: only build libbacktrace_offline static library. 2016-04-14 14:37:37 -07:00
Backtrace.cpp Don\'t demangle symbol names. am: fbbc744 am: 0edda64 am: 9bf0b81 2016-03-23 20:52:26 +00:00
backtrace_offline_test.cpp Revert "Revert "Revert "Revert "Add BacktraceOffline for offline backtracing."""" 2015-09-22 04:46:57 +00:00
backtrace_test.cpp Fix race condition updating local map data. 2016-08-25 15:01:53 -07:00
backtrace_testlib.c Rewrite libbacktrace using C++. 2013-10-28 17:55:25 -07:00
BacktraceCurrent.cpp Add error reporting mechanism for failing Unwind. 2016-03-10 14:14:43 -08:00
BacktraceCurrent.h Discards frames for code within library. 2015-04-01 15:58:20 -07:00
BacktraceLog.h Modify the code to avoid potential deadlocks. 2015-06-01 14:10:17 -07:00
BacktraceMap.cpp Fix race condition updating local map data. 2016-08-25 15:01:53 -07:00
BacktraceOffline.cpp libbacktrace_offline: support unwinding of shared libraries in apk file. 2016-03-29 14:04:34 -07:00
BacktraceOffline.h Revert "Revert "Revert "Revert "Add BacktraceOffline for offline backtracing."""" 2015-09-22 04:46:57 +00:00
BacktracePtrace.cpp Remove PtraceRead error message. 2015-06-12 23:32:20 -07:00
BacktracePtrace.h Refactor the code. 2015-03-31 10:51:44 -07:00
GetPss.cpp Refactor the code. 2015-03-31 10:51:44 -07:00
GetPss.h Create an UnwindMapLocal object. 2014-04-03 14:19:24 -07:00
thread_utils.c Remove libbacktrace definition of gettid. 2015-05-13 13:44:34 -07:00
thread_utils.h Fix libbacktrace host build. 2015-12-07 20:09:24 -08:00
ThreadEntry.cpp Modify the code to avoid potential deadlocks. 2015-06-01 14:10:17 -07:00
ThreadEntry.h Modify the code to avoid potential deadlocks. 2015-06-01 14:10:17 -07:00
UnwindCurrent.cpp Add error reporting mechanism for failing Unwind. 2016-03-10 14:14:43 -08:00
UnwindCurrent.h Refactor the code. 2015-03-31 10:51:44 -07:00
UnwindMap.cpp Fix race condition updating local map data. 2016-08-25 15:01:53 -07:00
UnwindMap.h Fix race condition updating local map data. 2016-08-25 15:01:53 -07:00
UnwindPtrace.cpp Add error reporting mechanism for failing Unwind. 2016-03-10 14:14:43 -08:00
UnwindPtrace.h Refactor the code. 2015-03-31 10:51:44 -07:00