From 6bc249edbfd59532978543fbbb54a98c5853e6ab Mon Sep 17 00:00:00 2001 From: Stefan Metzmacher Date: Thu, 19 Apr 2007 14:14:11 +0000 Subject: r22372: split out become_daemon() into it's own function this remove the dependency of util.o to swrap_close which causes sometrouble with the pidl tests on some hosts metze (This used to be commit 8cd36c47aaf1098876bceb314cb0a1f39369cb46) --- source4/lib/util/config.mk | 3 ++- source4/lib/util/util.c | 66 ---------------------------------------------- 2 files changed, 2 insertions(+), 67 deletions(-) (limited to 'source4/lib/util') diff --git a/source4/lib/util/config.mk b/source4/lib/util/config.mk index cda42c105a..5ec110e68d 100644 --- a/source4/lib/util/config.mk +++ b/source4/lib/util/config.mk @@ -26,7 +26,8 @@ OBJ_FILES = xfile.o \ ms_fnmatch.o \ mutex.o \ idtree.o \ - module.o + module.o \ + become_daemon.o PUBLIC_DEPENDENCIES = \ LIBTALLOC LIBCRYPTO \ SOCKET_WRAPPER EXT_NSL \ diff --git a/source4/lib/util/util.c b/source4/lib/util/util.c index afa9adbc18..b0eebb0bc7 100644 --- a/source4/lib/util/util.c +++ b/source4/lib/util/util.c @@ -141,42 +141,6 @@ _PUBLIC_ BOOL directory_create_or_exist(const char *dname, uid_t uid, } -/******************************************************************* - Close the low 3 fd's and open dev/null in their place. -********************************************************************/ -static void close_low_fds(BOOL stderr_too) -{ -#ifndef VALGRIND - int fd; - int i; - - close(0); - close(1); - - if (stderr_too) - close(2); - - /* try and use up these file descriptors, so silly - library routines writing to stdout etc won't cause havoc */ - for (i=0;i<3;i++) { - if (i == 2 && !stderr_too) - continue; - - fd = open("/dev/null",O_RDWR,0); - if (fd < 0) - fd = open("/dev/null",O_WRONLY,0); - if (fd < 0) { - DEBUG(0,("Can't open /dev/null\n")); - return; - } - if (fd != i) { - DEBUG(0,("Didn't get file descriptor %d\n",i)); - return; - } - } -#endif -} - /** Set a fd into blocking/nonblocking mode. Uses POSIX O_NONBLOCK if available, else @@ -223,36 +187,6 @@ _PUBLIC_ void msleep(unsigned int t) select(0,NULL,NULL,NULL,&tval); } -/** - Become a daemon, discarding the controlling terminal. -**/ - -_PUBLIC_ void become_daemon(BOOL Fork) -{ - if (Fork) { - if (fork()) { - _exit(0); - } - } - - /* detach from the terminal */ -#ifdef HAVE_SETSID - setsid(); -#elif defined(TIOCNOTTY) - { - int i = open("/dev/tty", O_RDWR, 0); - if (i != -1) { - ioctl(i, (int) TIOCNOTTY, (char *)0); - close(i); - } - } -#endif /* HAVE_SETSID */ - - /* Close fd's 0,1,2. Needed if started by rsh */ - close_low_fds(False); /* Don't close stderr, let the debug system - attach it to the logfile */ -} - /** Get my own name, return in malloc'ed storage. **/ -- cgit