On 17 Jul 2007, at 23:43, Micha Nelissen wrote:

SignalToRunError is a signal handler, but it calls an ErrorProc calling
many functions, like CRelocateThreadVar (for accessing the exception
stack), GetMem (to allocate an exception object); are these functions
guaranteed to run correctly in a signal handler ?

Probably not. For darwin/ppc, I actually do it differently (for another reason, but that's not relevant here): I change the signal context to return to HandleErrorAddrFrame, putting the required parameters (runerror number, program counter/instruction pointer, stack pointer) in the parameter registers of the context.

Since there are only 3 parameters, it should be possible to do this even on i386.


Jonas
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/mailman/listinfo/fpc-devel

Reply via email to