James, I'm wondering if and how you've solved the issue of Python signal
handlers not being serviced during C calls (as in gtk_main()) - I've run
into this problem with orbit-python now, since ORB_run() never returns,
and I wonder if you know of a decent solution.

I've tried rewriting a handler to get PyErr_CheckSignals() but it (of
course) won't call the python handler since I've killed the signal_handler
stub; PyOS_getsig could be used for this, perhaps, but it's Python 2.0
only. Python's Handlers struct is opaque and so I can't mark the signal as
triggered, so now I'm left wondering how this could be done otherwise.

I've tried going through pygtk code but haven't really found anywhere you
do this, so if you can give me a hand I'd be most grateful. Perhaps there
is no decent solution; in this case I'll just strap on the python default
handlers (or a lookalike) for SIGINT and perhaps HUP and let it be. It's
not nice, however.

There could, of course, be a good reason why we're not allowed to do
interrupting signal handling with the C code.. context clobbering comes 
to mind, but I'm just so ignorant it hurts :-) 

Take care,
--
/\/\ Christian Reis, Senior Engineer, Async Open Source, Brazil
~\/~ http://async.com.br/~kiko/ | [+55 16] 274 4311



_______________________________________________
pygtk mailing list   [EMAIL PROTECTED]
http://www.daa.com.au/mailman/listinfo/pygtk

Reply via email to