On Mon, Apr 04, 2011 at 12:58:36AM +0200, Matthias Kilian wrote: > I thought the zombie problems in xmonad I observed during my tests > with ghc-7.0.2rc1 back in january were caused by ghc. But I was > wrong. The problem happens with ghc-6.12.3, too. [...]
I'm stupid and missed the fact that installSignalHandlers in xmonad-0.9.2 reaps child processes only once, instead of doing it on every SIGCLD. Here's a better diff (again relative to ports/x11) for xmonad and hs-xmonad contrib that works fine with ghc-6.12.3. I'll commit this later today. Ciao, Kili Index: xmonad/Makefile =================================================================== RCS file: /cvs/ports/x11/xmonad/Makefile,v retrieving revision 1.24 diff -u -p -r1.24 Makefile --- xmonad/Makefile 4 Dec 2010 11:53:57 -0000 1.24 +++ xmonad/Makefile 4 Apr 2011 09:00:00 -0000 @@ -3,11 +3,9 @@ COMMENT-main = tiling window manager COMMENT-lib = libraries for runtime configuration -DISTNAME = xmonad-0.9.1 +DISTNAME = xmonad-0.9.2 PKGNAME-main = ${DISTNAME} PKGNAME-lib = ${DISTNAME:S,-,-lib-,} -REVISION-main = 4 -REVISION-lib = 7 CATEGORIES = x11 HOMEPAGE = http://www.xmonad.org/ @@ -23,7 +21,9 @@ WANTLIB-main = ${WANTLIB} X11 Xext Xine WANTLIB-lib = MODULES = lang/ghc converters/libiconv -MODGHC_BUILD = cabal hackage haddock register +# No documentation for now (haddock thinks that module `xmonad-0.9.2:Main' +# is defined in multiple files). +MODGHC_BUILD = cabal hackage register .if defined (SUBPACKAGE) && ${SUBPACKAGE:M-main} MODGHC_BUILD += nort Index: xmonad/distinfo =================================================================== RCS file: /cvs/ports/x11/xmonad/distinfo,v retrieving revision 1.8 diff -u -p -r1.8 distinfo --- xmonad/distinfo 22 Apr 2010 22:00:45 -0000 1.8 +++ xmonad/distinfo 4 Apr 2011 09:00:00 -0000 @@ -1,5 +1,5 @@ -MD5 (xmonad-0.9.1.tar.gz) = PQ3Vz3d2ixDht/OkfjKwng== -RMD160 (xmonad-0.9.1.tar.gz) = u7So2QntMviN1POHGhm52FiSOF4= -SHA1 (xmonad-0.9.1.tar.gz) = CrYS91PJdCDpKQXQqAD9Ki5agko= -SHA256 (xmonad-0.9.1.tar.gz) = AUIBIA6KUh7joNjAcnOSkWp1SSB7kQZPtFb4xmBgmSc= -SIZE (xmonad-0.9.1.tar.gz) = 56974 +MD5 (xmonad-0.9.2.tar.gz) = WkEX95hmTXctKoNOpskPHA== +RMD160 (xmonad-0.9.2.tar.gz) = TY5vAFeDNpWodurYdr68Thh48Xs= +SHA1 (xmonad-0.9.2.tar.gz) = bwUkgiX15v/Xd4DOHCwqETAOC3s= +SHA256 (xmonad-0.9.2.tar.gz) = rc2j9beln7H6T39I6MTrBZlkLn0hWwE/sHL5iu+YhR8= +SIZE (xmonad-0.9.2.tar.gz) = 56974 Index: xmonad/patches/patch-XMonad_Core_hs =================================================================== RCS file: /cvs/ports/x11/xmonad/patches/patch-XMonad_Core_hs,v retrieving revision 1.1 diff -u -p -r1.1 patch-XMonad_Core_hs --- xmonad/patches/patch-XMonad_Core_hs 22 Apr 2010 22:00:45 -0000 1.1 +++ xmonad/patches/patch-XMonad_Core_hs 4 Apr 2011 09:00:00 -0000 @@ -2,29 +2,18 @@ $OpenBSD: patch-XMonad_Core_hs,v 1.1 201 From Tomas Janousek. ---- XMonad/Core.hs.orig Thu Dec 17 00:25:04 2009 -+++ XMonad/Core.hs Mon Apr 12 02:12:43 2010 -@@ -465,14 +465,18 @@ trace = io . hPutStrLn stderr +--- XMonad/Core.hs.orig Fri Dec 24 01:42:54 2010 ++++ XMonad/Core.hs Mon Apr 4 10:45:53 2011 +@@ -465,7 +465,11 @@ trace = io . hPutStrLn stderr installSignalHandlers :: MonadIO m => m () installSignalHandlers = io $ do installHandler openEndedPipe Ignore Nothing - installHandler sigCHLD Ignore Nothing -- try $ fix $ \more -> do -- x <- getAnyProcessStatus False False -- when (isJust x) more -- return () + installHandler sigCHLD (Catch cleanZombies) Nothing + cleanZombies - - uninstallSignalHandlers :: MonadIO m => m () - uninstallSignalHandlers = io $ do - installHandler openEndedPipe Default Nothing - installHandler sigCHLD Default Nothing -+ return () + +cleanZombies :: IO () +cleanZombies = do -+ try $ fix $ \more -> do -+ x <- getAnyProcessStatus False False -+ when (isJust x) more - return () + (try :: IO a -> IO (Either SomeException a)) + $ fix $ \more -> do + x <- getAnyProcessStatus False False Index: xmonad/pkg/PLIST-lib =================================================================== RCS file: /cvs/ports/x11/xmonad/pkg/PLIST-lib,v retrieving revision 1.5 diff -u -p -r1.5 PLIST-lib --- xmonad/pkg/PLIST-lib 28 Oct 2010 13:55:21 -0000 1.5 +++ xmonad/pkg/PLIST-lib 4 Apr 2011 09:00:00 -0000 @@ -19,62 +19,4 @@ lib/ghc/${DISTNAME}/unregister.sh share/doc/hs-${DISTNAME}/ share/doc/hs-${DISTNAME}/CONFIG share/doc/hs-${DISTNAME}/LICENSE -share/doc/hs-${DISTNAME}/html/ -share/doc/hs-${DISTNAME}/html/XMonad-Config.html -share/doc/hs-${DISTNAME}/html/XMonad-Core.html -share/doc/hs-${DISTNAME}/html/XMonad-Layout.html -share/doc/hs-${DISTNAME}/html/XMonad-Main.html -share/doc/hs-${DISTNAME}/html/XMonad-ManageHook.html -share/doc/hs-${DISTNAME}/html/XMonad-Operations.html -share/doc/hs-${DISTNAME}/html/XMonad-StackSet.html -share/doc/hs-${DISTNAME}/html/XMonad.html -share/doc/hs-${DISTNAME}/html/doc-index-124.html -share/doc/hs-${DISTNAME}/html/doc-index-45.html -share/doc/hs-${DISTNAME}/html/doc-index-46.html -share/doc/hs-${DISTNAME}/html/doc-index-60.html -share/doc/hs-${DISTNAME}/html/doc-index-61.html -share/doc/hs-${DISTNAME}/html/doc-index-95.html -share/doc/hs-${DISTNAME}/html/doc-index-A.html -share/doc/hs-${DISTNAME}/html/doc-index-B.html -share/doc/hs-${DISTNAME}/html/doc-index-C.html -share/doc/hs-${DISTNAME}/html/doc-index-D.html -share/doc/hs-${DISTNAME}/html/doc-index-E.html -share/doc/hs-${DISTNAME}/html/doc-index-F.html -share/doc/hs-${DISTNAME}/html/doc-index-G.html -share/doc/hs-${DISTNAME}/html/doc-index-H.html -share/doc/hs-${DISTNAME}/html/doc-index-I.html -share/doc/hs-${DISTNAME}/html/doc-index-J.html -share/doc/hs-${DISTNAME}/html/doc-index-K.html -share/doc/hs-${DISTNAME}/html/doc-index-L.html -share/doc/hs-${DISTNAME}/html/doc-index-M.html -share/doc/hs-${DISTNAME}/html/doc-index-N.html -share/doc/hs-${DISTNAME}/html/doc-index-O.html -share/doc/hs-${DISTNAME}/html/doc-index-P.html -share/doc/hs-${DISTNAME}/html/doc-index-Q.html -share/doc/hs-${DISTNAME}/html/doc-index-R.html -share/doc/hs-${DISTNAME}/html/doc-index-S.html -share/doc/hs-${DISTNAME}/html/doc-index-T.html -share/doc/hs-${DISTNAME}/html/doc-index-U.html -share/doc/hs-${DISTNAME}/html/doc-index-V.html -share/doc/hs-${DISTNAME}/html/doc-index-W.html -share/doc/hs-${DISTNAME}/html/doc-index-X.html -share/doc/hs-${DISTNAME}/html/doc-index-Z.html -share/doc/hs-${DISTNAME}/html/doc-index.html -share/doc/hs-${DISTNAME}/html/frames.html -share/doc/hs-${DISTNAME}/html/haddock-util.js -share/doc/hs-${DISTNAME}/html/haddock.css -share/doc/hs-${DISTNAME}/html/haskell_icon.gif -share/doc/hs-${DISTNAME}/html/index-frames.html -share/doc/hs-${DISTNAME}/html/index.html -share/doc/hs-${DISTNAME}/html/mini_XMonad-Config.html -share/doc/hs-${DISTNAME}/html/mini_XMonad-Core.html -share/doc/hs-${DISTNAME}/html/mini_XMonad-Layout.html -share/doc/hs-${DISTNAME}/html/mini_XMonad-Main.html -share/doc/hs-${DISTNAME}/html/mini_XMonad-ManageHook.html -share/doc/hs-${DISTNAME}/html/mini_XMonad-Operations.html -share/doc/hs-${DISTNAME}/html/mini_XMonad-StackSet.html -share/doc/hs-${DISTNAME}/html/mini_XMonad.html -share/doc/hs-${DISTNAME}/html/minus.gif -share/doc/hs-${DISTNAME}/html/plus.gif -share/doc/hs-${DISTNAME}/html/xmonad.haddock share/doc/hs-${DISTNAME}/xmonad.hs Index: hs-xmonad-contrib/Makefile =================================================================== RCS file: /cvs/ports/x11/hs-xmonad-contrib/Makefile,v retrieving revision 1.11 diff -u -p -r1.11 Makefile --- hs-xmonad-contrib/Makefile 22 Nov 2010 08:36:59 -0000 1.11 +++ hs-xmonad-contrib/Makefile 4 Apr 2011 09:00:00 -0000 @@ -2,8 +2,7 @@ COMMENT = third party xmonad extensions -DISTNAME = xmonad-contrib-0.9.1 -REVISION = 8 +DISTNAME = xmonad-contrib-0.9.2 CATEGORIES = x11 HOMEPAGE = http://www.xmonad.org/ @@ -23,5 +22,7 @@ RUN_DEPENDS = ${LIB_DEPENDS} \ shells/bash NO_REGRESS = Yes + +VMEM_WARNING = Yes .include <bsd.port.mk> Index: hs-xmonad-contrib/distinfo =================================================================== RCS file: /cvs/ports/x11/hs-xmonad-contrib/distinfo,v retrieving revision 1.1.1.1 diff -u -p -r1.1.1.1 distinfo --- hs-xmonad-contrib/distinfo 10 May 2010 08:05:08 -0000 1.1.1.1 +++ hs-xmonad-contrib/distinfo 4 Apr 2011 09:00:00 -0000 @@ -1,5 +1,5 @@ -MD5 (xmonad-contrib-0.9.1.tar.gz) = CablFzh41DufPd0Ts+yVWw== -RMD160 (xmonad-contrib-0.9.1.tar.gz) = oOLb6kmsM9/CMbGa1JDoLz8VbbM= -SHA1 (xmonad-contrib-0.9.1.tar.gz) = tuGIZCCzI0fLID8neiGbF3LyqV0= -SHA256 (xmonad-contrib-0.9.1.tar.gz) = tModcdEpA752GHzliJhpcIbnrz73NGiYfLfvA7B27Ec= -SIZE (xmonad-contrib-0.9.1.tar.gz) = 291348 +MD5 (xmonad-contrib-0.9.2.tar.gz) = YWy8Yyu95c1M22Q+5H500g== +RMD160 (xmonad-contrib-0.9.2.tar.gz) = ZeqEEPD5OTgw/nNKpqOMS2kMyZo= +SHA1 (xmonad-contrib-0.9.2.tar.gz) = GfY7AX54eq1ihq5rwkk7gEsVmNo= +SHA256 (xmonad-contrib-0.9.2.tar.gz) = t8DAATtTMjQIi6sNCCHtLcXF+mEEP+8rF+ZHxIksDxo= +SIZE (xmonad-contrib-0.9.2.tar.gz) = 292481