Bug 1298676 - Part 3: Disable I/O interposition when manually taking crashdumps. r=ted, a=jcristau
authorNathan Froyd <froydnj@mozilla.com>
Tue, 10 Jan 2017 16:31:25 -0500
changeset 353673 e6d6e457c4f7aaae803a880b26bd0949fbc9fee2
parent 353672 74b93a29d034530c5de1dd6336a30e151f7949f9
child 353674 998f11970867282c85b89385a08bc172ce5b02d2
push id6795
push userjlund@mozilla.com
push dateMon, 23 Jan 2017 14:19:46 +0000
treeherdermozilla-esr52@76101b503191 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersted, jcristau
bugs1298676
milestone52.0a2
Bug 1298676 - Part 3: Disable I/O interposition when manually taking crashdumps. r=ted, a=jcristau
toolkit/crashreporter/nsExceptionHandler.cpp
--- a/toolkit/crashreporter/nsExceptionHandler.cpp
+++ b/toolkit/crashreporter/nsExceptionHandler.cpp
@@ -3937,16 +3937,18 @@ GetChildThread(ProcessHandle childPid, T
 }
 #endif
 
 bool TakeMinidump(nsIFile** aResult, bool aMoveToPending)
 {
   if (!GetEnabled())
     return false;
 
+  AutoIOInterposerDisable disableIOInterposition;
+
   xpstring dump_path;
 #ifndef XP_LINUX
   dump_path = gExceptionHandler->dump_path();
 #else
   dump_path = gExceptionHandler->minidump_descriptor().directory();
 #endif
 
   // capture the dump
@@ -3976,16 +3978,18 @@ CreateMinidumpsAndPair(ProcessHandle aTa
                        const nsACString& aIncomingPairName,
                        nsIFile* aIncomingDumpToPair,
                        nsIFile** aMainDumpOut)
 {
   if (!GetEnabled()) {
     return false;
   }
 
+  AutoIOInterposerDisable disableIOInterposition;
+
 #ifdef XP_MACOSX
   mach_port_t targetThread = GetChildThread(aTargetPid, aTargetBlamedThread);
 #else
   ThreadId targetThread = aTargetBlamedThread;
 #endif
 
   xpstring dump_path;
 #ifndef XP_LINUX