diff options
-rw-r--r-- | rts/sm/MBlock.c | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/rts/sm/MBlock.c b/rts/sm/MBlock.c index 601387cf80..54d414807a 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; |