
On Fri, Nov 30, 2007 at 07:46:41AM -0500, David Roundy wrote:
(Obviously) sounds like a memory leak. Presumably we're allocating X resources and never freeing them. But since they're unused, they get swapped out. I suppose this means carefully auditing all X calls. I wish we had *slightly* higher-level X calls that did GC for us (i.e. had finalizers to destroy objects when they're no longer in use). It'd be slightly problematic, since finalizers aren't guaranteed to be called at exit, so we might leak something when we restart, but that seems like a small danger relative to that of leaking while we run.
Not a problem. The X connection file descriptor, if memory serves, is marked as FD_CLOEXEC, so when xmonad execs itself, the connection is closed. Then the X server reads an EOF on the connection and deletes all resources, same as it does when an X program crashes. Stefan