Windows: give a better error message when running out of memory
[ghc-hetmet.git] / rts / sm / MBlock.c
index 601387c..54d4148 100644 (file)
@@ -348,8 +348,13 @@ allocNew(nat n) {
     if(rec->base==0) {
         stgFree((void*)rec);
         rec=0;
-        sysErrorBelch(
-            "getMBlocks: VirtualAlloc MEM_RESERVE %d blocks failed", n);
+        if (GetLastError() == ERROR_NOT_ENOUGH_MEMORY) {
+
+            errorBelch("out of memory");
+        } else {
+            sysErrorBelch(
+                "getMBlocks: VirtualAlloc MEM_RESERVE %d blocks failed", n);
+        }
     } else {
                alloc_rec temp;
                temp.base=0; temp.size=0; temp.next=allocs;