diff options
Diffstat (limited to 'rts/hooks/OutOfHeap.c')
-rw-r--r-- | rts/hooks/OutOfHeap.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/rts/hooks/OutOfHeap.c b/rts/hooks/OutOfHeap.c new file mode 100644 index 0000000000..98db0d7d49 --- /dev/null +++ b/rts/hooks/OutOfHeap.c @@ -0,0 +1,19 @@ +/* ----------------------------------------------------------------------------- + * + * User-overridable RTS hooks. + * + * ---------------------------------------------------------------------------*/ + +#include "Rts.h" +#include <stdio.h> + +void +OutOfHeapHook (lnat request_size, lnat heap_size) /* both sizes in bytes */ +{ + /* fprintf(stderr, "Heap exhausted;\nwhile trying to allocate %lu bytes in a %lu-byte heap;\nuse `+RTS -H<size>' to increase the total heap size.\n", */ + + (void)request_size; /* keep gcc -Wall happy */ + fprintf(stderr, "Heap exhausted;\nCurrent maximum heap size is %lu bytes (%lu Mb);\nuse `+RTS -M<size>' to increase it.\n", + heap_size, heap_size / (1024*1024)); +} + |