One problem with FvwmButtons is that in its cleanup code it does
signal(SIG_PIPE, SIG_IGN);
and then tries to communicate with the server. If the server connection has
been broken - as in the case here - this results in FvwmButtons going into
a tight CPU-consuming loop [at least on my platform, Sun Solaris 2.4].
This sort of server shutdown/reset also happens on multiscreen displays,
which is how I found it. I have made a change to FvwmButtons to try and
fix this problem (by changing the signal handling to 'exit' instead of
SIG_IGN). I haven't checked to see if other Fvwm modules, or the main
code, has this problem too, though. I also haven't posted the change
to list [yet].
Just checked fvwm itself; it may have this problem too, since it
installs a signal handler (DeadPipe) which, in effect, ignores
the signal (it just reinstalls itself). Problem is, of course, that
fvwm *can* get SIGPIPE signals that it is legitimate to ignore (when
communicating with a module). If the code can check to see if the X
server (connection) is dead in the signal handler, and exit() if it
isn't, then the problem may disappear. Something like:
struct stat buf;
if (fstat(XConnectionNumber(dpy), &buf) == -1) exit(1);
(assuming 'struct stat' and 'fstat' are, in this usage, 100% portable,
*and* presuming fstat returns -1 on a dead, but not closed, pipe.)
I'll try this out shortly (oh, the joys of XNest).
On 31-Aug-96 02:21:26 Thomas Leitner wrote:
> >
> Hi Jeff,
>
> On Fri, 30 Aug 1996, Jeff Magill wrote:
>
> > > Now when I just terminate the session,
> > >by stopping the dxsession manager (which causes the X server to die),
> > >I can see 'fvwm2' and 'FvwmButtons' still running and eating CPU time
> > >when I log-in from a remote terminal.
> >
> > I guess you're cutting the X server out from underneath fvwm2.
>
> Yes. Apparently.
>
> > I think usually people exit their X server the other way around. That is,
> > the X server is usually dependent upon some application still
> > running--usually the window manager.
> >
> > For example, I use xinit to start my X server. xinit fires of a shell
> > script, .xinitrc, that fires up fvwm2 and some other applications. When
> > .xinitrc exits, then the X server shuts down. My .xinitrc script waits
> > until fvwm2 exits and then it exits. So when I exit fvwm2 explicitly
> > (using the Quit function), the .xinitrc script notices that the window
> > manager has quit and then it exits. Then the X server shuts down.
>
> Well. I do it like this:
>
> a.) The X Server is started
> b.) dtlogin is started and I log-in selecting dxsession
> c.) dxsession starts up and I've configured it to use
> /usr/lib/X11/fvwm2/fvwm2 rather than /usr/bin/X11/mwm.
> d.) dxsession executes the .X11Startup file to startup my
> initial apps.
>
> When I want to log-out, I use the dxsession's logout command which
> apparently causes the x-server to die without fvwm2 noticeing.
>
> Please note that this works without problems when I select the
> standard Motif Window manager. It also worked without problems
> using fvwm-1.24r
>
> What can I do about it? I mean: What happens if the X server dies
> for other reasons in your configuration? Then you run into the same
> problems and fvwm2 will eat up CPU time as well. I think that fvwm
> should just die when the X server died.
>
> Thanks for your reply -- Tom
>
> --------------------------------------------------------------------------
> T o m L e i t n e r Dept. of Communications
> Graz University of Technology,
> e-mail : tom_at_finwds01.tu-graz.ac.at Inffeldgasse 12
> Phone : +43-316-873-7455 A-8010 Graz / Austria / Europe
> Fax : +43-316-463-697
> Home page : http://wiis.tu-graz.ac.at/people/tom.html
> PGP public key on : ftp://wiis.tu-graz.ac.at/pgp-keys/tom.asc or send
> mail with subject "get Thomas Leitner" to pgp-public-keys_at_keys.pgp.net
> --------------------------------------------------------------------------
>
>
> --
> Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
> To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
> message to majordomo_at_hpc.uh.edu.
> To report problems, send mail to fvwm-owner_at_hpc.uh.edu.
>
Grant McDorman <grant_at_isgtec.com>
ISG Technologies, Inc.
--
Visit the official FVWM web page at <URL:http://www.hpc.uh.edu/fvwm/>.
To unsubscribe from the list, send "unsubscribe fvwm" in the body of a
message to majordomo_at_hpc.uh.edu.
To report problems, send mail to fvwm-owner_at_hpc.uh.edu.
Received on Fri Aug 30 1996 - 15:51:52 BST