Merge "Frameworks: Fix system server profiling"

am: eed99d8629

Change-Id: Ia07782e694d066f827e99fffa49c93321444b851
This commit is contained in:
Andreas Gampe
2018-03-15 17:10:15 +00:00
committed by android-build-merger
2 changed files with 9 additions and 1 deletions

View File

@@ -612,7 +612,7 @@ public final class ActivityThread {
streamingOutput);
profiling = true;
} catch (RuntimeException e) {
Slog.w(TAG, "Profiling failed on path " + profileFile);
Slog.w(TAG, "Profiling failed on path " + profileFile, e);
try {
profileFd.close();
profileFd = null;

View File

@@ -23615,6 +23615,14 @@ public class ActivityManagerService extends IActivityManager.Stub
} catch (IOException e) {
}
mProfilerInfo.profileFd = null;
if (proc.pid == MY_PID) {
// When profiling the system server itself, avoid closing the file
// descriptor, as profilerControl will not create a copy.
// Note: it is also not correct to just set profileFd to null, as the
// whole ProfilerInfo instance is passed down!
profilerInfo = null;
}
} else {
stopProfilerLocked(proc, profileType);
if (profilerInfo != null && profilerInfo.profileFd != null) {