packages feed

systemd-1.1.0: test/Main.hs

import System.Systemd.Daemon
import Control.Monad
import Control.Concurrent
import Network

import System.IO
import Data.Char
import System.Posix.Env as Ev


apF :: Show w => w -> IO ()
apF = appendFile "/home/erebe/log" . (++ "\n") . show

main :: IO ()
main = do
  hSetBuffering stdout LineBuffering
  ev <-  Ev.getEnvironment
  apF ev

  apF "totot"
  ev' <- getActivatedSocketsWithNames
  apF ev'
  apF "totot"

  threadDelay $ 1000000 * 20
  s <- listenOn (PortNumber 1213)
  s' <- listenOn (PortNumber 1214)

  x <- storeFd False s
  apF x
  x <- storeFdWithName False s' "tutu"
  apF x
  forever (runner s)
    where
        runner s = do
            res <- notifyWatchdog
            x <- notifyWithFD False "FDSTORE=1" s
            apF x
            threadDelay $ 1000000 * 2