Bug 1061024 (part 1) - Don't run DMD when about:memory's "Measure" button is pressed. r=jld.

--HG--
extra : rebase_source : ddf0236352c64eb9839dfd0a219451a568aba10e
This commit is contained in:
Nicholas Nethercote 2014-08-31 20:36:26 -07:00
parent 2f2c34f333
commit 1e51d01858
2 changed files with 18 additions and 14 deletions

View File

@ -2641,16 +2641,18 @@ ContentParent::Observe(nsISupports* aSubject,
MOZ_ASSERT(cmsg[identOffset - 1] == '=');
FileDescriptor dmdFileDesc;
#ifdef MOZ_DMD
FILE *dmdFile;
nsAutoString dmdIdent(Substring(msg, identOffset));
nsresult rv = nsMemoryInfoDumper::OpenDMDFile(dmdIdent, Pid(), &dmdFile);
if (NS_WARN_IF(NS_FAILED(rv))) {
// Proceed with the memory report as if DMD were disabled.
dmdFile = nullptr;
}
if (dmdFile) {
dmdFileDesc = FILEToFileDescriptor(dmdFile);
fclose(dmdFile);
if (!dmdIdent.IsEmpty()) {
FILE *dmdFile = nullptr;
nsresult rv = nsMemoryInfoDumper::OpenDMDFile(dmdIdent, Pid(), &dmdFile);
if (NS_WARN_IF(NS_FAILED(rv))) {
// Proceed with the memory report as if DMD were disabled.
dmdFile = nullptr;
}
if (dmdFile) {
dmdFileDesc = FILEToFileDescriptor(dmdFile);
fclose(dmdFile);
}
}
#endif
unused << SendPMemoryReportRequestConstructor(

View File

@ -1189,11 +1189,13 @@ nsMemoryReporterManager::StartGettingReports()
// Get reports for this process.
FILE* parentDMDFile = nullptr;
#ifdef MOZ_DMD
nsresult rv = nsMemoryInfoDumper::OpenDMDFile(s->mDMDDumpIdent, getpid(),
&parentDMDFile);
if (NS_WARN_IF(NS_FAILED(rv))) {
// Proceed with the memory report as if DMD were disabled.
parentDMDFile = nullptr;
if (!s->mDMDDumpIdent.IsEmpty()) {
nsresult rv = nsMemoryInfoDumper::OpenDMDFile(s->mDMDDumpIdent, getpid(),
&parentDMDFile);
if (NS_WARN_IF(NS_FAILED(rv))) {
// Proceed with the memory report as if DMD were disabled.
parentDMDFile = nullptr;
}
}
#endif
GetReportsForThisProcessExtended(s->mHandleReport, s->mHandleReportData,