ECL's default heap (1GB on 32-bit or 4GB on 64-bit) can sometimes
authorMatthew Mondor <mmondor@pulsar-zone.net>
Thu, 27 Aug 2015 18:08:06 +0000 (14:08 -0400)
committerMatthew Mondor <mmondor@pulsar-zone.net>
Thu, 27 Aug 2015 18:08:06 +0000 (14:08 -0400)
commit4d76ae8c2951d0c74a8d934041aca21e290fdc54
tree4c64550dcb725c05b233cc99e37ae730a1c76b11
parent5517fa5631277942ed505f09a72f2836b99be930
ECL's default heap (1GB on 32-bit or 4GB on 64-bit) can sometimes
be higher than the OS's process rlimit is, especially the soft limit.
Consider this default heap, as well as any user-specified heap size
as a target, and adapt as necessary the heap size according to the
soft and hard rlimits if any.
We attempt to grow the soft limit if possible to reach the target,
but as necessary lower the heap size.
Otherwise, when ECL experiences allocation errors and attempts to
report these, needing even more allocations to do so, it can end
up locked in a busy loop.  It's better to gracefull report that the
heap should be growed instead.
src/c/main.d
src/c/stacks.d
src/configure
src/configure.ac
src/h/internal.h