From owner-svn-src-head@FreeBSD.ORG Wed Feb 4 22:04:07 2009 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 18B8F1065672; Wed, 4 Feb 2009 22:04:07 +0000 (UTC) (envelope-from emax@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:4f8:fff6::2c]) by mx1.freebsd.org (Postfix) with ESMTP id 045758FC1D; Wed, 4 Feb 2009 22:04:07 +0000 (UTC) (envelope-from emax@FreeBSD.org) Received: from svn.freebsd.org (localhost [127.0.0.1]) by svn.freebsd.org (8.14.3/8.14.3) with ESMTP id n14M46he095324; Wed, 4 Feb 2009 22:04:06 GMT (envelope-from emax@svn.freebsd.org) Received: (from emax@localhost) by svn.freebsd.org (8.14.3/8.14.3/Submit) id n14M46j0095320; Wed, 4 Feb 2009 22:04:06 GMT (envelope-from emax@svn.freebsd.org) Message-Id: <200902042204.n14M46j0095320@svn.freebsd.org> From: Maksim Yevmenkin Date: Wed, 4 Feb 2009 22:04:06 +0000 (UTC) To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org X-SVN-Group: head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Cc: Subject: svn commit: r188130 - in head: usr.bin/bluetooth/rfcomm_sppd usr.sbin/bluetooth/hcsecd usr.sbin/bluetooth/hcseriald usr.sbin/bluetooth/rfcomm_pppd X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 04 Feb 2009 22:04:07 -0000 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);