Is it possible, and if so is it easy, to limit the amount of memory an embedded Python interpreter is allowed to allocate? I don't want to ulimit/rlimit the process if I don't have to (or rather, I want the process's limit to be high, and the Python limit much lower), but just to force Python to throw MemoryError sooner than it otherwise would (my code can then graciously deal with the exception).
Google turned up this thread: http://stackoverflow.com/questions/1760025/limit-python-vm-memory The answers given include resource.setrlimit (which presumably goes straight back to the API, which will affect the whole process), and a simple counter (invasive to the code). But I want something that I can impose from the outside. I have a vague memory of reading somewhere that it's possible to replace the Python memory allocator. This would be an option, if there's no simple way to say "your maximum is now 16MB", but I now can't find it back. Was I hallucinating? Hoping not to reinvent any wheels today! Thanks! Chris Angelico -- http://mail.python.org/mailman/listinfo/python-list