
dbenbenn:
Tue Oct 23 18:13:48 PDT 2007 David Benbennick
* zombie_children My .xinitrc file looks like this:
xterm & firefox & exec xmonad
The result is that when xmonad starts, it has two child processes that it didn't create. When I quit either process, the process remains forever as a zombie, because xmonad never waits on children.
My previous window manager (Window Maker) didn't suffer from this issue.
Here's a pretty simple change that makes xmonad wait on children in its main loop. We can also change spawn to only create one process instead of two, and keep spawned processes as children.
So there's a portability problem, getAnyProcessStatus calls getGroupProcessStatus, which fails on OpenBSD for some reason. We can't apply this as is, at least, since it breaks xmonad on that platform (possibly others too, I guess). This is probably the fault of the unix System.Process binding. Also, I'd like to know what impact, if any, waiting before every X event has. -- Don