From 51a1bbab96f8795701fc59d295a5f556cfbf5622 Mon Sep 17 00:00:00 2001 From: Simon Marlow Date: Thu, 30 Aug 2007 13:51:46 +0000 Subject: [PATCH] Windows: give a better error message when running out of memory I think this fixes #1209 Previously: outofmem.exe: getMBlocks: VirtualAlloc MEM_RESERVE 1025 blocks failed: Not enoug h storage is available to process this command. Now: outofmem.exe: out of memory --- rts/sm/MBlock.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/rts/sm/MBlock.c b/rts/sm/MBlock.c index 601387c..54d4148 100644 --- a/rts/sm/MBlock.c +++ b/rts/sm/MBlock.c @@ -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; -- 1.7.10.4