cannot longjmp from g_log_set_handler function



I created an error handler using g_log_set_handler that calls the
error handler for a language interpreter.  The action of the
interpreter is to throw an error, which entails a longjmp.  The
next time an error occurs in a GTK+ function, the error handler
enters again, where a global flag in the log routines says that
the second entry is a recursion (falsely), due to some code that
sets a global flag in the g_ error handler but never clears it on
a longjmp.

I suggest that there needs to be a function that will clean up
the error handler context in the event of a longjmp, so that it
is possible to throw GTK+ errors.  At the moment, the g_log_
function is only good for aborting a run, not for recovery.

Thoughts?

	Andrew Thomas



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]