[Parti-discuss] disconnecting the client with SIGINT
Antoine Martin
antoine at nagafix.co.uk
Tue Mar 10 03:58:23 EDT 2009
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA512
Nathaniel Smith wrote:
> On Mon, Mar 9, 2009 at 3:47 AM, Antoine Martin <antoine at nagafix.co.uk> wrote:
>> Adding this:
>> except (KeyboardInterrupt, SystemExit):
>> import sys
>> sys.exit(0)
>> Before the except block at the end of
>> wimpiggy/lowlevel/wimpiggy.lowlevel.bindings.pyx seems to help, but this
>> is almost certainly not the right thing to do, is it?
>
> It would make sense that that would help, because currently it's
> explicitly swallowing all exceptions that occur inside our low-level
> event handlers (and the focus-handling stuff gets called from the
> low-level event handlers)! Oops.
>
> The reason for this is that any exceptions that escape from there will
> go to the gtk mainloop, and it mostly just ignores exceptions... so at
> least this way we get a nice message. However, I wasn't thinking about
> system exit exceptions when I added that (I had, ahem, other
> exceptions to worry about), and I think the gtk mainloop may have
> special handling for those anyway...
>
> If, at the end of wimpiggy/lowlevel/wimpiggy.lowlevel.bindings.pyx, you replace
>
> except:
> log.warn("Unhandled exception in x_event_filter:", exc_info=True)
>
> with
>
> except:
> log.warn("Unhandled exception in x_event_filter:", exc_info=True)
> raise
>
> then does that still fix the problem for you? That would be a cleaner
> solution if it works.
The client got terminated more often, but the signal can still get
caught (and ignored) in other places:
Traceback (most recent call last):
File "install/lib/python/xpra/protocol.py", line 78, in _socket_writeable
File "install/lib/python/xpra/protocol.py", line 57, in
_flush_one_packet_into_buffer
File "install/lib/python/xpra/client.py", line 43, in next_packet
KeyboardInterrupt
Or this one that I mentioned before:
Traceback (most recent call last):
File "install/lib/python/xpra/client.py", line 252, in _focus_change
Is there anything else I can try?
Thanks
Antoine
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iEYEAREKAAYFAkm2HZ8ACgkQGK2zHPGK1ruZgwCfXcNsQAs/clO5CvAfP2tYVERE
kDoAnR61Dju2za/6a/W6XaGFoqNSQEHM
=Q3js
-----END PGP SIGNATURE-----
More information about the Parti-discuss
mailing list