diff options
-rw-r--r-- | compat/daemon.h | 9 | ||||
-rw-r--r-- | configure.ac | 1 | ||||
-rw-r--r-- | nslcd/nslcd.c | 2 |
3 files changed, 7 insertions, 5 deletions
diff --git a/compat/daemon.h b/compat/daemon.h index 8d10514..5a2b02a 100644 --- a/compat/daemon.h +++ b/compat/daemon.h @@ -1,7 +1,7 @@ /* daemon.h - definition of daemon() for systems that lack it - Copyright (C) 2002, 2003, 2008 Arthur de Jong + Copyright (C) 2002, 2003, 2008, 2011 Arthur de Jong This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public @@ -24,8 +24,11 @@ #include <unistd.h> -/* deamonize process, optionally chdir to / and optionally close stdin, - strdout and stderr and redirect them to /dev/null */ +#if !HAVE_DECL_DAEMON +/* we define daemon() here because on some platforms the function is + undefined: deamonize process, optionally chdir to / and optionally + close stdin, strdout and stderr and redirect them to /dev/null */ int daemon(int nochdir,int noclose); +#endif /* not HAVE_DECL_DAEMON */ #endif /* not COMPAT__DAEMON_H */ diff --git a/configure.ac b/configure.ac index 2a0cede..ba4b3bf 100644 --- a/configure.ac +++ b/configure.ac @@ -570,6 +570,7 @@ then # replace daemon() function if it is not on the system AC_SEARCH_LIBS(daemon,bsd) AC_REPLACE_FUNCS(daemon) + AC_CHECK_DECLS([daemon],,,[#include <unistd.h>]) # replace ether_aton_r() and ether_ntoa_r() if they are not found AC_CHECK_FUNCS(ether_aton_r ether_ntoa_r,,[AC_LIBOBJ(ether)]) diff --git a/nslcd/nslcd.c b/nslcd/nslcd.c index 4d4e70b..d67951b 100644 --- a/nslcd/nslcd.c +++ b/nslcd/nslcd.c @@ -52,9 +52,7 @@ #ifndef HAVE_GETOPT_LONG #include "compat/getopt_long.h" #endif /* not HAVE_GETOPT_LONG */ -#ifndef HAVE_DAEMON #include "compat/daemon.h" -#endif /* not HAVE_DAEMON */ #include <dlfcn.h> #include <libgen.h> |