diff options
author | Christopher Ferris <cferris@google.com> | 2014-08-04 17:08:46 -0700 |
---|---|---|
committer | Christopher Ferris <cferris@google.com> | 2014-08-04 19:21:23 -0700 |
commit | dda47b786835ef3689f06e24650eb65176e2dc5e (patch) | |
tree | 03949c0f356c2f706d65f8b17c904f05b19d1a45 /libbacktrace/UnwindMap.cpp | |
parent | 39a8ade7eebc945a112c10ba3331bd9a0934dbec (diff) | |
download | system_core-dda47b786835ef3689f06e24650eb65176e2dc5e.tar.gz system_core-dda47b786835ef3689f06e24650eb65176e2dc5e.tar.bz2 system_core-dda47b786835ef3689f06e24650eb65176e2dc5e.zip |
Allow getting an uncached process map.
(cherry picked from commit f02593b0e61f8108449770094caa7bb39a646ec1)
Change-Id: I2012bf2dc553ebc663345b9eac6d794e80df9c00
Diffstat (limited to 'libbacktrace/UnwindMap.cpp')
-rw-r--r-- | libbacktrace/UnwindMap.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/libbacktrace/UnwindMap.cpp b/libbacktrace/UnwindMap.cpp index 4f9831bb1..387d768aa 100644 --- a/libbacktrace/UnwindMap.cpp +++ b/libbacktrace/UnwindMap.cpp @@ -130,9 +130,13 @@ const backtrace_map_t* UnwindMapLocal::Find(uintptr_t addr) { //------------------------------------------------------------------------- // BacktraceMap create function. //------------------------------------------------------------------------- -BacktraceMap* BacktraceMap::Create(pid_t pid) { +BacktraceMap* BacktraceMap::Create(pid_t pid, bool uncached) { BacktraceMap* map; - if (pid == getpid()) { + + if (uncached) { + // Force use of the base class to parse the maps when this call is made. + map = new BacktraceMap(pid); + } else if (pid == getpid()) { map = new UnwindMapLocal(); } else { map = new UnwindMap(pid); |