Merge "Frameworks: Fix system server profiling" into pi-dev

This commit is contained in:
TreeHugger Robot
2018-03-16 04:00:48 +00:00
committed by Android (Google) Code Review
2 changed files with 9 additions and 1 deletions

View File

@@ -704,7 +704,7 @@ public final class ActivityThread extends ClientTransactionHandler {
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

@@ -25377,6 +25377,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) {