Backout bfeb3bc3da4e (bug 826029) for WINNT xpcshell failures
authorEd Morley <emorley@mozilla.com>
Thu, 03 Jan 2013 10:17:14 +0000
changeset 126530 bf3fd2911e147ee4a651233d6e990513f6c3b69f
parent 126529 34f4d5d47caed99e95b6c1a1f1b914cbc08f9016
child 126531 5b01e63c0b59c8855759f972fe122f4136e7f739
push id2151
push userlsblakk@mozilla.com
push dateTue, 19 Feb 2013 18:06:57 +0000
treeherdermozilla-beta@4952e88741ec [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs826029
milestone20.0a1
backs outbfeb3bc3da4e62acdf2754fe8467554bbdfc062f
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backout bfeb3bc3da4e (bug 826029) for WINNT xpcshell failures
browser/app/nsBrowserApp.cpp
toolkit/xre/nsAppRunner.cpp
xpcom/build/nsXULAppAPI.h
--- a/browser/app/nsBrowserApp.cpp
+++ b/browser/app/nsBrowserApp.cpp
@@ -102,29 +102,27 @@ XRE_GetFileFromPathType XRE_GetFileFromP
 XRE_CreateAppDataType XRE_CreateAppData;
 XRE_FreeAppDataType XRE_FreeAppData;
 #ifdef XRE_HAS_DLL_BLOCKLIST
 XRE_SetupDllBlocklistType XRE_SetupDllBlocklist;
 #endif
 XRE_TelemetryAccumulateType XRE_TelemetryAccumulate;
 XRE_StartupTimelineRecordType XRE_StartupTimelineRecord;
 XRE_mainType XRE_main;
-XRE_DisableWritePoisoningType XRE_DisableWritePoisoning;
 
 static const nsDynamicFunctionLoad kXULFuncs[] = {
     { "XRE_GetFileFromPath", (NSFuncPtr*) &XRE_GetFileFromPath },
     { "XRE_CreateAppData", (NSFuncPtr*) &XRE_CreateAppData },
     { "XRE_FreeAppData", (NSFuncPtr*) &XRE_FreeAppData },
 #ifdef XRE_HAS_DLL_BLOCKLIST
     { "XRE_SetupDllBlocklist", (NSFuncPtr*) &XRE_SetupDllBlocklist },
 #endif
     { "XRE_TelemetryAccumulate", (NSFuncPtr*) &XRE_TelemetryAccumulate },
     { "XRE_StartupTimelineRecord", (NSFuncPtr*) &XRE_StartupTimelineRecord },
     { "XRE_main", (NSFuncPtr*) &XRE_main },
-    { "XRE_DisableWritePoisoning", (NSFuncPtr*) &XRE_DisableWritePoisoning },
     { nullptr, nullptr }
 };
 
 static int do_main(int argc, char* argv[])
 {
   nsCOMPtr<nsIFile> appini;
   nsresult rv;
 
@@ -277,18 +275,10 @@ int main(int argc, char* argv[])
 
   int result;
   {
     ScopedLogging log;
     result = do_main(argc, argv);
   }
 
   XPCOMGlueShutdown();
-
-  // Allow writes again. While we would like to catch writes from static
-  // destructors to allow early exits to use _exit, we know that there is
-  // at least one such write that we don't control (see bug 826029). For
-  // now we enables write again and early exits will have to use exit instead
-  // of _exit.
-  XRE_DisableWritePoisoning();
-
   return result;
 }
--- a/toolkit/xre/nsAppRunner.cpp
+++ b/toolkit/xre/nsAppRunner.cpp
@@ -4075,21 +4075,16 @@ XRE_mainMetro(int argc, char* argv[], co
                "XPCOM Shutdown hasn't occured, and we are exiting.");
   SAMPLER_SHUTDOWN();
   return 0;
 }
 
 void SetWindowsEnvironment(WindowsEnvironmentType aEnvID);
 #endif // MOZ_METRO || !defined(XP_WIN)
 
-void
-XRE_DisableWritePoisoning(void) {
-  mozilla::DisableWritePoisoning();
-}
-
 int
 XRE_main(int argc, char* argv[], const nsXREAppData* aAppData, uint32_t aFlags)
 {
 #if !defined(MOZ_METRO) || !defined(XP_WIN)
   XREMain main;
   int result = main.XRE_main(argc, argv, aAppData);
   mozilla::RecordShutdownEndTimeStamp();
   return result;
--- a/xpcom/build/nsXULAppAPI.h
+++ b/xpcom/build/nsXULAppAPI.h
@@ -447,18 +447,16 @@ XRE_API(void,
         XRE_TelemetryAccumulate, (int aID, uint32_t aSample))
 
 XRE_API(void,
         XRE_StartupTimelineRecord, (int aEvent, PRTime aWhen))
 
 XRE_API(void,
         XRE_InitOmnijar, (nsIFile* greOmni,
                           nsIFile* appOmni))
-XRE_API(void,
-        XRE_DisableWritePoisoning, (void))
 
 #ifdef XP_WIN
 /**
  * Valid environment types for XRE_GetWindowsEnvironment.
  */
 enum WindowsEnvironmentType {
   WindowsEnvironmentType_Desktop = 0,
   WindowsEnvironmentType_Metro = 1