darcs patch: reveal: don't insert non-clients into the set of mappe...
Sat Mar 27 22:42:43 CET 2010 Tomas Janousek <tomi@nomi.cz> * 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/
On Sat, Mar 27, 2010 at 10:59:21PM +0100, Tomas Janousek wrote:
Sat Mar 27 22:42:43 CET 2010 Tomas Janousek <tomi@nomi.cz> * 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 <tomi@nomi.cz> * 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 being 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. -- This message was brought to you by DarcsWatch http://darcswatch.nomeata.de/repo_http:__code.haskell.org_xmonad.html#bundle...
participants (3)
-
darcswatch@nomeata.de -
Spencer Janssen -
Tomas Janousek