Is "Out of Memory" a recoverable error?

Walter Bright newshound1 at digitalmars.com
Thu Dec 4 10:50:30 PST 2008


Leandro Lucarella wrote:
> For example, I'm working on a softswitch (unfortunately no in D). Lets say
> we have a really bad moment and all the subscribers want to talk at the
> same time and we don't support that workload. Lets say our memory is
> exhausted and a new call arrive. A new allocation is done somewhere deep
> inside the call logic, so the PRE COLLECT callback is called. No memory
> can be reclaimed, so the GC runs a collection. Still no memory. POST
> COLLECT and CRISIS are called too without success. My softswitch is down,
> I lost all the current calls. This is not good for business. What I really
> wanted to do is to catch the memory error as shallow in the call logic as
> possible and drop only that current call, leaving all the current
> established calls intact.
> 
> So what can I do? Should I manually check each and every allocation in all
> the call logic? I think that's unacceptable.

That's a very good point. I need to think about that one.



More information about the Digitalmars-d mailing list