packages feed

hdaemonize 0.5.2 → 0.5.3

raw patch · 4 files changed

+108/−103 lines, 4 filesdep ~hsyslogPVP ok

version bump matches the API change (PVP)

Dependency ranges changed: hsyslog

API changes (from Hackage documentation)

Files

− README
@@ -1,97 +0,0 @@-`hdaemonize`-=================--`hdaemonize` is a simple library that hides some of the complexities-of writing UNIX daemons in Haskell.--Obtaining--------------The latest version is available (BSD license) at-[GitHub](https://github.com/greydot/hdaemonize).--Using----------The synopsis is:--    import System.Posix.Daemonize-    main = daemonize $ program--This code will make `program` do what good daemons should do, that is,-detach from the terminal, close file descriptors, create a new process-group, and so on.--If you want more functionality than that, it is available as a-`serviced` function.--Here is an example:--    import Control.Concurrent-    import System.Posix.Daemonize--    loop i log = do threadDelay $ 10^6-                    log (show i)-            	    writeFile "/tmp/counter" $ show i-                    if i == 5 then undefined else loop (i + 1) log--    main = serviced (loop 0)--Let us say this program is compiled as `mydaemon`. Then:--    # mydaemon start--starts the service. A second call to start will complain that the-program is already running.--During its execution, mydaemon will simply write a new number to-`/tmp/counter` every second, until it reaches 5. Then, an exception-will be thrown. This exception will be caught by `hdaemonize`, and-logged to `/var/log/daemon.log` or similar (this is depends on how-`syslog` works on your platorm).  `log (show i)` will leave messages-in the same file.--When the exception is thrown, the program will be restared in 5-seconds, and will start counting from 0 again.--The following commands are also made available:--    # mydaemon stop-    # mydaemon restart--Finally, `mydaemon` drops privileges.  By default it changes the-effective user and group ids to those of the `daemon` user, but it-prefers to use those of `mydaemon`, if present.---Changelog------------* 0.5.2-    * Fix pre-AMP builds.--* 0.5.1-    * Updated to use hsyslog >=4--* 0.4-    * added support for a privileged action before dropping privileges--* 0.3-    * merged with updates by madhadron--* 0.2-    * provided documentation-    * backported to older GHC versions, tested on 6.8.1--* 0.1-    * initial public release---Authors----------Anton Tayanovskyy <name.surname@gmail.com>, bug reports and feature-requests welcome.--The code is originally based on a public posting by-[Andre Nathan](http://sneakymustard.com/), used by permission.
+ README.md view
@@ -0,0 +1,98 @@+`hdaemonize`+=================+[![Build Status](https://travis-ci.org/greydot/hdaemonize.svg?branch=master)](https://travis-ci.org/greydot/hdaemonize)++`hdaemonize` is a simple library that hides some of the complexities+of writing UNIX daemons in Haskell.++Obtaining+-----------++The latest version is available (BSD license) at+[GitHub](https://github.com/greydot/hdaemonize).++Using+-------++The synopsis is:++    import System.Posix.Daemonize+    main = daemonize $ program++This code will make `program` do what good daemons should do, that is,+detach from the terminal, close file descriptors, create a new process+group, and so on.++If you want more functionality than that, it is available as a+`serviced` function.++Here is an example:++    import Control.Concurrent+    import System.Posix.Daemonize++    loop i log = do threadDelay $ 10^6+                    log (show i)+            	    writeFile "/tmp/counter" $ show i+                    if i == 5 then undefined else loop (i + 1) log++    main = serviced (loop 0)++Let us say this program is compiled as `mydaemon`. Then:++    # mydaemon start++starts the service. A second call to start will complain that the+program is already running.++During its execution, mydaemon will simply write a new number to+`/tmp/counter` every second, until it reaches 5. Then, an exception+will be thrown. This exception will be caught by `hdaemonize`, and+logged to `/var/log/daemon.log` or similar (this is depends on how+`syslog` works on your platorm).  `log (show i)` will leave messages+in the same file.++When the exception is thrown, the program will be restared in 5+seconds, and will start counting from 0 again.++The following commands are also made available:++    # mydaemon stop+    # mydaemon restart++Finally, `mydaemon` drops privileges.  By default it changes the+effective user and group ids to those of the `daemon` user, but it+prefers to use those of `mydaemon`, if present.+++Changelog+---------++* 0.5.2+    * Fix pre-AMP builds.++* 0.5.1+    * Updated to use hsyslog >=4++* 0.4+    * added support for a privileged action before dropping privileges++* 0.3+    * merged with updates by madhadron++* 0.2+    * provided documentation+    * backported to older GHC versions, tested on 6.8.1++* 0.1+    * initial public release+++Authors+-------+Lana Black <lanablack@amok.cc>++Anton Tayanovskyy <name.surname@gmail.com>.++The code is originally based on a public posting by+[Andre Nathan](http://sneakymustard.com/), used by permission.
System/Posix/Daemonize.hs view
@@ -1,6 +1,5 @@ {-# LANGUAGE CPP #-} {-# LANGUAGE OverloadedStrings #-}-{-# LANGUAGE RankNTypes #-} module System.Posix.Daemonize (   -- * Simple daemonization   daemonize,
hdaemonize.cabal view
@@ -1,5 +1,5 @@ Name:		hdaemonize-Version:	0.5.2+Version:	0.5.3 Cabal-Version:  >= 1.6 License:	BSD3 License-file:   LICENSE@@ -10,17 +10,18 @@ Synopsis:       Library to handle the details of writing daemons for UNIX Description:	Provides two functions that help writing better UNIX daemons, 		daemonize and serviced: daemonize does what a daemon should do-		(forking and closing descriptors), while serviced does that and -		more (syslog interface, PID file writing, start-stop-restart +		(forking and closing descriptors), while serviced does that and+		more (syslog interface, PID file writing, start-stop-restart 		command line handling, dropping privileges). Build-Type:	Simple-Extra-Source-Files:	README+Extra-Source-Files:	README.md+Tested-With: GHC == 7.6.3, GHC == 7.8.4, GHC == 7.10.3, GHC == 8.0.1  Library   Build-Depends:    base >= 4 && < 5                   , bytestring                   , unix-                  , hsyslog >= 4+                  , hsyslog == 4                   , extensible-exceptions                   , filepath                   , mtl@@ -29,3 +30,7 @@       Ghc-Options:      -Wall -fno-warn-unused-do-bind -fno-warn-type-defaults -fno-warn-name-shadowing   else       Ghc-Options:      -Wall -fno-warn-type-defaults -fno-warn-name-shadowing++source-repository head+  type:     git+  location: https://github.com/greydot/hdaemonize.git