svn commit: r188130 - in head: usr.bin/bluetooth/rfcomm_sppd usr.sbin/bluetooth/hcsecd usr.sbin/bluetooth/hcseriald usr.sbin/bluetooth/rfcomm_pppd

Maksim Yevmenkin emax at FreeBSD.org
Wed Feb 4 14:04:07 PST 2009


Author: emax
Date: Wed Feb  4 22:04:06 2009
New Revision: 188130
URL: http://svn.freebsd.org/changeset/base/188130

Log:
  Clenup code a bit and do not call fork(2) before dameon(3) where not needed.
  
  MFC after:	1 month

Modified:
  head/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c
  head/usr.sbin/bluetooth/hcsecd/hcsecd.c
  head/usr.sbin/bluetooth/hcseriald/hcseriald.c
  head/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c

Modified: head/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c
==============================================================================
--- head/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c	Wed Feb  4 21:11:31 2009	(r188129)
+++ head/usr.bin/bluetooth/rfcomm_sppd/rfcomm_sppd.c	Wed Feb  4 22:04:06 2009	(r188130)
@@ -281,22 +281,8 @@ main(int argc, char *argv[]) 
 	}
 
 	/* Became daemon if required */
-	if (background) {
-		switch (fork()) {
-		case -1:
-			err(1, "Could not fork()");
-			/* NOT REACHED */
-
-		case 0:
-			exit(0);
-			/* NOT REACHED */
-
-		default:
-			if (daemon(0, 0) < 0)
-				err(1, "Could not daemon()");
-			break;
-		}
-	}
+	if (background && daemon(0, 0) < 0)
+		err(1, "Could not daemon()");
 
 	openlog(SPPD_IDENT, LOG_NDELAY|LOG_PERROR|LOG_PID, LOG_DAEMON);
 	syslog(LOG_INFO, "Starting on %s...", (tty != NULL)? tty : "stdin/stdout");

Modified: head/usr.sbin/bluetooth/hcsecd/hcsecd.c
==============================================================================
--- head/usr.sbin/bluetooth/hcsecd/hcsecd.c	Wed Feb  4 21:11:31 2009	(r188129)
+++ head/usr.sbin/bluetooth/hcsecd/hcsecd.c	Wed Feb  4 22:04:06 2009	(r188130)
@@ -128,9 +128,8 @@ main(int argc, char *argv[])
 			(void * const) &filter, sizeof(filter)) < 0)
 		err(1, "Could not set HCI socket filter");
 
-	if (detach)
-		if (daemon(0, 0) < 0)
-			err(1, "Could not daemon()ize");
+	if (detach && daemon(0, 0) < 0)
+		err(1, "Could not daemon()ize");
 
 	openlog(HCSECD_IDENT, LOG_NDELAY|LOG_PERROR|LOG_PID, LOG_DAEMON);
 

Modified: head/usr.sbin/bluetooth/hcseriald/hcseriald.c
==============================================================================
--- head/usr.sbin/bluetooth/hcseriald/hcseriald.c	Wed Feb  4 21:11:31 2009	(r188129)
+++ head/usr.sbin/bluetooth/hcseriald/hcseriald.c	Wed Feb  4 22:04:06 2009	(r188130)
@@ -101,23 +101,10 @@ main(int argc, char *argv[])
 	/* Open device */
 	n = open_device(device, speed, name);
 
-	if (detach) {
-		pid_t	pid = fork();
-
-		if (pid == (pid_t) -1) {
-			syslog(LOG_ERR, "Could not fork(). %s (%d)",
-				strerror(errno), errno);
-			exit(1);
-		}
-
-		if (pid != 0)
-			exit(0);
-
-		if (daemon(0, 0) < 0) {
-			syslog(LOG_ERR, "Could not daemon(0, 0). %s (%d)",
-				strerror(errno), errno);
-			exit(1);
-		}
+	if (detach && daemon(0, 0) < 0) {
+		syslog(LOG_ERR, "Could not daemon(0, 0). %s (%d)",
+			strerror(errno), errno);
+		exit(1);
 	}
 
 	/* Write PID file */

Modified: head/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c
==============================================================================
--- head/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c	Wed Feb  4 21:11:31 2009	(r188129)
+++ head/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c	Wed Feb  4 22:04:06 2009	(r188130)
@@ -166,22 +166,10 @@ main(int argc, char *argv[])
 
 	openlog(RFCOMM_PPPD, LOG_PID | LOG_PERROR | LOG_NDELAY, LOG_USER);
 
-	if (detach) {
-		pid = fork();
-		if (pid == (pid_t) -1) {
-			syslog(LOG_ERR, "Could not fork(). %s (%d)",
-				strerror(errno), errno);
-			exit(1);
-		}
-
-		if (pid != 0)
-			exit(0);
-
-		if (daemon(0, 0) < 0) {
-			syslog(LOG_ERR, "Could not daemon(0, 0). %s (%d)",
-				strerror(errno), errno);
-			exit(1);
-		}
+	if (detach && daemon(0, 0) < 0) {
+		syslog(LOG_ERR, "Could not daemon(0, 0). %s (%d)",
+			strerror(errno), errno);
+		exit(1);
 	}
 
 	s = socket(PF_BLUETOOTH, SOCK_STREAM, BLUETOOTH_PROTO_RFCOMM);


More information about the svn-src-all mailing list