Hi,

Josiah Carlson <[EMAIL PROTECTED]> wrote in
news:[EMAIL PROTECTED]: 

>>> strip....
>> IMHO this should be left to hooker(apparerently not right word, but you
>> get the point :) ). If he allocates more mem. or does heavy stuff, that
>> will just fail. Anyway abort() is a failure too. Either abort() will
>> end the process or OS will on such a critical error.
> 
> I'm not talking about doing memory-intensive callbacks, I'm talking
> about the function call itself.
> 
>>From what I understand, any function call in Python requires a memory
> allocation. This is trivially true in the case of rentrant Python calls;
> which requires the allocation of a frame object from heap memory, and in
> the case of all calls, from C stack memory. If you cannot allocate a
> frame for __del__ method calling (one of the error conditions), you
> certainly aren't going to be able to call a Python callback (no heap
> memory), and may not have enough stack memory required by your logging
> function; even if it is written in C (especially if you construct a
> nontrivial portion of the message in memory before it is printed).
> 
> If I'm wrong, I'd like to hear it, but I'm still waiting for your patch
> on sourceforge.
>  - Josiah


Wait a minute I guess I wasn't clear on that: The callback will be only in C 
level smtg like "PySetFatalError_CallBack" , there will be no way to hook it 
from Python because as you said Python may have crashed hard like "Can't 
initialize type".

Best regards.

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to