[Xmonad] darcs patch: zombie_children

David Roundy droundy at darcs.net
Wed Nov 7 16:00:05 EST 2007

On Wed, Nov 07, 2007 at 11:22:43AM -0800, David Benbennick wrote:
> On Nov 6, 2007 11:21 PM, Spencer Janssen <sjanssen at cse.unl.edu> wrote:
> > Sadly, SIGCHLD doesn't seem to be a good solution here.  Certain parts of
> > xmonad collect child processes with waitForProcess, which throws an exception
> > if the process has already been collected.
> Good point.  One of those places is in Main.hs, which waits for the
> ghc process to recompile .xmonad/xmonad.hs.  That doesn't seem very
> elegant, since the window manager is frozen until ghc finishes.  Seems
> like that ought to be multithreaded, so the window manager can keep
> responding during the compile.

The real problem here is that Main.hs is doing the recompile, rather than
the running xmonad, and we really don't want Main.hs responding to events,
since the only concept it has of the current state is a serialized
string--which it doesn't know how to modify.

I believe there's been discussion of moving the recompile code into restart
itself, which would mean that it *could* be done in the background.
Allowing xmonad to continue changing state during the recompile would be
slightly tricky but doable.  And the other major advantage:  if the compile
fails, we wouldn't have to lose the current state.
David Roundy
Department of Physics
Oregon State University

More information about the Xmonad mailing list