Windows: remove the {Enter,Leave}CricialSection wrappers
[ghc-hetmet.git] / rts / RtsStartup.c
index 8be4044..5104721 100644 (file)
@@ -463,8 +463,6 @@ hs_exit_(rtsBool wait_foreign)
     /* free the stable pointer table */
     exitStablePtrTable();
 
-    freeProfiling1();
-
 #if defined(DEBUG)
     /* free the thread label table */
     freeThreadLabelTable();
@@ -481,6 +479,7 @@ hs_exit_(rtsBool wait_foreign)
 #endif
 
     endProfiling();
+    freeProfiling1();
 
 #ifdef PROFILING
     // Originally, this was in report_ccs_profiling().  Now, retainer
@@ -494,7 +493,7 @@ hs_exit_(rtsBool wait_foreign)
 #endif
 
 #if defined(mingw32_HOST_OS) && !defined(THREADED_RTS)
-    shutdownAsyncIO();
+    shutdownAsyncIO(wait_foreign);
 #endif
 
     /* free hash table storage */