packages feed

restricted-workers 0.1.0 → 0.1.1

raw patch · 3 files changed

+17/−8 lines, 3 files

Files

examples/CommandEvalProtocol.lhs view
@@ -83,12 +83,21 @@ > main :: IO () > main = do >     hSetBuffering stdin NoBuffering->     (worker,_) <- startIOWorker "Command Evaluator" def+>     bzz <- startIOWorker "Command Evaluator" def >                       "/tmp/commandme.sock" cmdHandler->     sendCommands worker [Dance, Dance, AddNumbers 1 2, Echo "Hi", Dance]->     threadDelay 80000->     killWorker worker->     return ()+>     go bzz+>   where+>     go (worker, restart) = do+>         sendCommands worker [ Dance, Dance+>                             , AddNumbers 1 2+>                             , Echo "Hi", Echo "wow"+>                             , Dance, Dance ]+>         threadDelay 800000+>         worker' <- restart worker+>         go (worker', restart)+>         return ()++  Sample output: 
restricted-workers.cabal view
@@ -1,6 +1,6 @@ name:                restricted-workers synopsis:            Running worker processes under system resource restrictions-version:             0.1.0+version:             0.1.1  description:         This library provides an abstract interface for                      running various kinds of workers under resource
src/System/Restricted/Worker/Internal.hs view
@@ -61,11 +61,11 @@            -> Maybe (IO Handle)  -- ^ Where to redirect stdout            -> (Socket -> IO ())  -- ^ Callback funcion            -> IO ProcessID-forkWorker (w@Worker{..}) out cb = do+forkWorker Worker{..} out cb = do     _ <- setStoppedChildFlag True     _ <- installHandler processStatusChanged Ignore Nothing     soc <- mkSock workerSocket-    addFinalizer w (close soc)+    addFinalizer soc (close soc)     forkProcess $ do         _ <- setStoppedChildFlag False         _ <- installHandler processStatusChanged Default Nothing