Walter Bright, el 2 de diciembre a las 04:13 me escribiste: > I asked this over on stackoverflow.com to see what people using other > languages > have to say, as well as the D community. The reason I ask is to see if memory > allocation can be allowed in functions marked "nothrow". > > http://stackoverflow.com/questions/333736/is-out-of-memory-a-recoverable-error
I think all the things said in this thread makes sense (adding callbacks to the garbage collector, adding a way to ask for memory that don't throw if the memory can't be allocated), but I think this don't cover all the possible scenarios. 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. I think this scenario apply to each client-server application that needs to stay alive even with high workloads, as the expense of dropping some connection/client (web servers or web applications for example, as someone said in stackoverflow.com). -- Leandro Lucarella (luca) | Blog colectivo: http://www.mazziblog.com.ar/blog/ ---------------------------------------------------------------------------- GPG Key: 5F5A8D05 (F8CD F9A7 BF00 5431 4145 104C 949E BFB6 5F5A 8D05) ---------------------------------------------------------------------------- PADRES DENUNCIAN QUE SU HIJA SE ESCAPO CON UN PARAGUAYITO -- Crónica TV