xfce4-panel and SIGTERM

Brian J. Tarricone bjt23 at cornell.edu
Sat Mar 18 20:32:55 CET 2006


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Jasper Huijsmans wrote:
> Adriano Winter Bess schreef:

> What does it say above this? SIGSEGV in ...
> 
>> #0  panel_app_get_monitor (n=0) at panel-app.c:815
>> No locals.
>> #1  0x080530f4 in panel_resize_function (window=0x80db7b0, panel=0x80db7b0, old=0xbfdbed7c, new=0xbfdbed6c, x=0x80db870, 
>>     y=0x80db874) at panel-properties.c:379
>>         priv = (PanelPrivate *) 0x80db890
>>         xmon = <value optimized out>
> 
> 
> Hmm, maybe the resize function is being called while the panel is being 
> destroyed... I can try to disconnect these handlers, before destroying 
> any widgets.

Note that calling *anything* but a few "safe" libc functions while
inside a posix signal handler has undefined results.  The glib main loop
may be thread-safe, but it's not really reentrant.  Gtk and gdk are not
even thread-safe.  When a posix signal handler runs, you have no idea
what the state of the rest of the app is in.  It could be in the middle
of some glib function for all you know.  If you start calling
gtk/gdk/glib functions in a signal handler, you can actually make
matters worse.

(Granted, I know I do this in xfmedia, and bad things only seem to
happen a tiny percentage of the time.  Regardless, it's technically
incorrect.)

There's a very recent thread on gtk-app-devel-list about this stuff, and
some possible solutions.  I don't have a link handy, though.

	-brian

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2.2 (GNU/Linux)

iD8DBQFEHGBn6XyW6VEeAnsRAhdPAKCouyr5Ml2v/ScF/zC1vAmxpyMDMACgtNkW
yYgQEs0f2c/24wxPeVZWAaI=
=dvbx
-----END PGP SIGNATURE-----



More information about the Xfce4-dev mailing list