libdaemon @PACKAGE_VERSION@

Copyright 2003-2009 Lennart Poettering <@PACKAGE_BUGREPORT@>

License

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

News

Sun Aug 29 2012:

Version 0.15 license change from LGPL to MIT

Sun Oct 18 2009:

Version 0.14 released; changes include: add daemon_set_verbosity() call; numerous updates

Tue Jul 29 2008:

Version 0.13 released; changes include: add daemon_reset_sigs() and daemon_unblock_sigs() calls for resetting signal handlers to sensible states; improve error handling.

Tue Jul 10 2007:

Version 0.12 released; changes include: make daemon_close_all() actually work properly.

Fri Jun 22 2007:

Version 0.11 released; changes include: automatically detect whether lynx is installed; properly set errno on every error condition; add new function daemon_close_all() to close all open file descriptors except a given set; add daemon_logv(), which is identical to daemon_log(), but takes a va_list argument; add daemon_execv() in similar style; other fixes

Thu Nov 24 2005:

Version 0.10 released; changes include: make logging compatible with daemons running in a chroot() environment

Fri Nov 18 2005:

Version 0.9 released; changes include: portability (FreeBSD, NetBSD, OpenBSD, Darwin, Solaris, Cygwin); some minor header file cleanups; fix access mode of PID files; other cleanups; license change from GPL to LGPL

Sat Jun 4 2005:

Version 0.8 released; changes include: proper PID file locking

Sat Dec 18 2004:

Version 0.7 released; changes include: minor cleanups; C++ compatibility; gcc 2.95 compatiblity

Wed Apr 7 2004:

Version 0.6 released; changes include: backgrounding fixes, minor other stuff

Tue Feb 10 2004:

Version 0.5 released; changes include: signal handling fix, forking fix

Sat Jan 10 2004:

Version 0.4 released; changes include: new module dexec.c; added pkg-config support.

Mon Oct 20 2003:

Version 0.3 released; changes include: documentation update, build fixes, RPM spec file added, added new function int daemon_pid_file_kill_wait().

Thu July 10 2003:

Version 0.2 released; changes include: ugly umask error fix, documentation update

Mon July 7 2003:

Version 0.1 released

Overview

libdaemon is a lightweight C library that eases the writing of UNIX daemons. It consists of the following parts:

APIs like these are used in most daemon software available. It is not that simple to get it done right and code duplication is not a goal.

libdaemon is currently used by ifplugd, Avahi, ivam2, Nautilus-Share and aeswepd.

Current Status

Version @PACKAGE_VERSION@ is feature complete.

Documentation

An extensive API reference is available

Requirements

libdaemon was developed and tested on Debian GNU/Linux "testing" from July 2003, it should work on most other Linux distributions (and some Unix versions) since it uses GNU Autoconf and GNU libtool for source code configuration and shared library management.

libdaemon is known to work on modern Linux systems, FreeBSD, NetBSD, OpenBSD, Darwin, Solaris and Windows/Cygwin.

Installation

As this package is made with the GNU autotools you should run ./configure inside the distribution directory for configuring the source tree. After that you should run make for compilation and make install (as root) for installation of libdaemon.

Please use gmake instead of traditional make for compilation on non-Linux systems.

Acknowledgements

Sebastien Estienne, for a lot of portability work.

Download

The newest release is always available from @PACKAGE_URL@

Get libdaemon's development sources from the GIT repository (gitweb):

git clone git://git.0pointer.de/libdaemon

You may find an up to date Debian package of libdaemon on the Debian package repository.

If you want to be notified whenever I release a new version of this software use the subscription feature of Freshmeat.


Lennart Poettering <@PACKAGE_BUGREPORT@>, October 2009