darcs patch: reveal: don't insert non-clients into the set of mappe...

Sat Mar 27 22:42:43 CET 2010 Tomas Janousek

On Sat, Mar 27, 2010 at 10:59:21PM +0100, Tomas Janousek wrote:
Sat Mar 27 22:42:43 CET 2010 Tomas Janousek
* reveal: don't insert non-clients into the set of mapped windows In xmonad-core, this fixes a small bug that caused doIgnored windows to get into `mapped' and never be removed from there.
In the context of xmonad-contrib, this fixes a tremendous memory leak that could be triggered by using MouseResizableTile and UrgencyHook at the same time. MRT would create dummy windows that would get added to `mapped' by the reveal call in `windows'. As these were not removed (removal from `mapped' is filtered by `isClient'), they'd stay there forever and due to an inefficiency in UrgencyHook would eat up all memory sooner or later.
Fun fact: this also triggered a bug in glibc after a few days such that periodic signals + fork hangs whenever the program consumes more than a certain amount of memory. -- Tomáš Janoušek, a.k.a. Liskni_si, http://work.lisk.in/
Good catch! Applied, thanks. Spencer Janssen

This 1-patch bundle was just applied to http://code.haskell.org/xmonad:
20100327214243 Tomas Janousek
participants (3)
-
darcswatch@nomeata.de
-
Spencer Janssen
-
Tomas Janousek