svn commit: samba r22372 - in branches/SAMBA_4_0/source/lib/util: .

metze at samba.org metze at samba.org
Thu Apr 19 14:14:14 GMT 2007


Author: metze
Date: 2007-04-19 14:14:11 +0000 (Thu, 19 Apr 2007)
New Revision: 22372

WebSVN: http://websvn.samba.org/cgi-bin/viewcvs.cgi?view=rev&root=samba&rev=22372

Log:
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
Modified:
   branches/SAMBA_4_0/source/lib/util/config.mk
   branches/SAMBA_4_0/source/lib/util/util.c


Changeset:
Modified: branches/SAMBA_4_0/source/lib/util/config.mk
===================================================================
--- branches/SAMBA_4_0/source/lib/util/config.mk	2007-04-19 13:30:07 UTC (rev 22371)
+++ branches/SAMBA_4_0/source/lib/util/config.mk	2007-04-19 14:14:11 UTC (rev 22372)
@@ -26,7 +26,8 @@
 		ms_fnmatch.o \
 		mutex.o \
 		idtree.o \
-		module.o
+		module.o \
+		become_daemon.o
 PUBLIC_DEPENDENCIES = \
 		LIBTALLOC LIBCRYPTO \
 		SOCKET_WRAPPER EXT_NSL \

Modified: branches/SAMBA_4_0/source/lib/util/util.c
===================================================================
--- branches/SAMBA_4_0/source/lib/util/util.c	2007-04-19 13:30:07 UTC (rev 22371)
+++ branches/SAMBA_4_0/source/lib/util/util.c	2007-04-19 14:14:11 UTC (rev 22372)
@@ -141,42 +141,6 @@
 }       
 
 
-/*******************************************************************
- 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
@@ -224,36 +188,6 @@
 }
 
 /**
- 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.
 **/
 



More information about the samba-cvs mailing list