Format: 1.8
Date: Thu, 11 Apr 2013 14:54:28 -0700
Source: haskell-hdaemonize
Binary: libghc-hdaemonize-dev libghc-hdaemonize-prof libghc-hdaemonize-doc
Architecture: source all amd64
Version: 0.4.5.0-0+seereason1~bpo51+1
Distribution: squeeze-seereason
Urgency: low
Maintainer: Debian Haskell Group <pkg-haskell-maintainers@lists.alioth.debian.org>
Changed-By: SeeReason Autobuilder <autobuilder@seereason.com>
Description: 
 libghc-hdaemonize-dev - Library to handle the details of writing daemons for UNIX
 libghc-hdaemonize-doc - Library to handle the details of writing daemons for UNIX
 libghc-hdaemonize-prof - Library to handle the details of writing daemons for UNIX
Changes: 
 haskell-hdaemonize (0.4.5.0-0+seereason1~bpo51+1) squeeze-seereason; urgency=low
 .
   * Debianization generated by cabal-debian
   * Built from hackage, revision: Debianize (Patch (Hackage "hdaemonize") "--- old/System/Posix/Daemonize.hs\t2012-02-04 17:36:24.000000000 -0800\n+++ new/System/Posix/Daemonize.hs\t2012-05-18 10:59:27.809909158 -0700\n@@ -156,23 +156,33 @@\n                  \n       process daemon [\"stop\"]  = \n           do pid <- pidRead daemon\n-             let ifdo x f = x >>= \\x -> if x then f else pass\n              case pid of\n                Nothing  -> pass\n-               Just pid -> \n-                   (do signalProcess sigTERM pid\n-                       usleep (10^6)\n-                       ifdo (pidLive pid) $ \n-                            do usleep (3*10^6)\n-                               ifdo (pidLive pid) (signalProcess sigKILL pid))\n-                   `finally`\n-                   removeLink (pidFile daemon)\n+               Just pid -> (stop pid >> wait (waitSecs daemon) pid) `finally` removeLink (pidFile daemon)\n \n       process daemon [\"restart\"] = do process daemon [\"stop\"]\n                                       process daemon [\"start\"]\n       process _      _ = \n         getProgName >>= \\pname -> putStrLn $ \"usage: \" ++ pname ++ \" {start|stop|restart}\"\n \n+      -- If the process still exists, begin the shutdown process.\n+      stop :: CPid -> IO ()\n+      stop pid =\n+          pidLive pid >>= \\ alive ->\n+          if alive\n+          then signalProcess sigTERM pid >> usleep (10^3)\n+          else pass\n+\n+      -- If still alive wait the designated period.\n+      wait :: Maybe Int -> CPid -> IO ()\n+      wait remain pid =\n+          pidLive pid >>= \\ alive -> \n+          if alive\n+          then if maybe True (> 0) remain\n+               then (usleep (10^6) >> wait (fmap (\\x->x-1) remain) pid)\n+               else signalProcess sigKILL pid\n+          else pass\n+\n -- | The details of any given daemon are fixed by the 'CreateDaemon'\n -- record passed to 'serviced'.  You can also take a predefined form\n -- of 'CreateDaemon', such as 'simpleDaemon' below, and set what\n@@ -214,6 +224,7 @@\n                                      -- have a good reason to do\n                                      -- otherwise, leave this as\n                                      -- 'Nothing'.\n+  , waitSecs :: Maybe Int   -- ^ How many seconds to wait before sending the sigKILL.  If Nothing wait forever.  Default 4.\n }\n \n -- | The simplest possible instance of 'CreateDaemon' is \n@@ -240,7 +251,8 @@\n   syslogOptions = [],\n   pidfileDirectory = Nothing,\n   program = const $ M.forever $ return (),\n-  privilegedAction = return ()\n+  privilegedAction = return (),\n+  waitSecs = Just 4\n }\n   \n \n")
Checksums-Sha1:
 1aeaee7aedf41796a14a7c864aa75665e5f6146c 9191 haskell-hdaemonize_0.4.5.0-0+seereason1~bpo51+1.tar.gz
 9e7b5b6ac05047a6933511b5f5d5cc432564a781 45894 libghc-hdaemonize-doc_0.4.5.0-0+seereason1~bpo51+1_all.deb
 fb61907a39bd09c6c3de75bafb144138d342f84c 45092 libghc-hdaemonize-dev_0.4.5.0-0+seereason1~bpo51+1_amd64.deb
 25c209b6c58352a09b779e33113b91a675a27878 38664 libghc-hdaemonize-prof_0.4.5.0-0+seereason1~bpo51+1_amd64.deb
 e8ab9213245c0d2121c2b52af3bb104ebaa2bfa9 5110 haskell-hdaemonize_0.4.5.0-0+seereason1~bpo51+1.dsc
Checksums-Sha256:
 7c594f626430340935e871371670e209ea626e2f2ca44abbe69701383d43dbd7 9191 haskell-hdaemonize_0.4.5.0-0+seereason1~bpo51+1.tar.gz
 5af4e2b7502ab8bd0a3c385992af53cab2cda6ec8b392b8ed059f762e5cf24b2 45894 libghc-hdaemonize-doc_0.4.5.0-0+seereason1~bpo51+1_all.deb
 5e9df1382d29e6b8cab9d2344b0743df57f8b2278a3c5eb93619f4c2d5a6b398 45092 libghc-hdaemonize-dev_0.4.5.0-0+seereason1~bpo51+1_amd64.deb
 f6203d6e8df569c00769cc7eb8e10be9731387e03b99848caf20cdfa395030ce 38664 libghc-hdaemonize-prof_0.4.5.0-0+seereason1~bpo51+1_amd64.deb
 7e2ca744ca1a7035c1b2a6340dd36ad609ef1238a767002f76f7676d06effc5f 5110 haskell-hdaemonize_0.4.5.0-0+seereason1~bpo51+1.dsc
Build-Info:
 Autobuilder-Version: 6.53.1
 Time: 14.988496s
 Memory: 12297152 kB
 CPU: Intel(R) Core(TM) i7 CPU         920  @ 2.67GHz
 CPU count: 8
 OS Architecture: x86_64
 CPU MHz: 1600.000
 CPU cache: 8192 KB
 Host: gene
Files:
 6fb9ee5032c7eb4b43d4af6550de9e84 9191 haskell optional haskell-hdaemonize_0.4.5.0-0+seereason1~bpo51+1.tar.gz
 dd6dfa3622d1e3dc0857e13b86596c1d 45894 doc optional libghc-hdaemonize-doc_0.4.5.0-0+seereason1~bpo51+1_all.deb
 54b1a41e8283f047cb06e9ec181f1c0d 45092 haskell optional libghc-hdaemonize-dev_0.4.5.0-0+seereason1~bpo51+1_amd64.deb
 2ac879096a631b8bd76df0ab31517956 38664 haskell optional libghc-hdaemonize-prof_0.4.5.0-0+seereason1~bpo51+1_amd64.deb
 5935d791eac6bcef9774079f714a6471 5110 haskell optional haskell-hdaemonize_0.4.5.0-0+seereason1~bpo51+1.dsc
