summaryrefslogtreecommitdiffstats
path: root/usr.sbin
diff options
context:
space:
mode:
authoremax <emax@FreeBSD.org>2009-02-04 22:04:06 +0000
committeremax <emax@FreeBSD.org>2009-02-04 22:04:06 +0000
commitebea9bff1dbd39061821016995df2ed6229638fe (patch)
treefe79fa257b8da5af41a6be92e335edf2f75cbfab /usr.sbin
parentf0da128350a84dfa9167374bf7dcbc4f03500c6a (diff)
downloadFreeBSD-src-ebea9bff1dbd39061821016995df2ed6229638fe.zip
FreeBSD-src-ebea9bff1dbd39061821016995df2ed6229638fe.tar.gz
Clenup code a bit and do not call fork(2) before dameon(3) where not needed.
MFC after: 1 month
Diffstat (limited to 'usr.sbin')
-rw-r--r--usr.sbin/bluetooth/hcsecd/hcsecd.c5
-rw-r--r--usr.sbin/bluetooth/hcseriald/hcseriald.c21
-rw-r--r--usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c20
3 files changed, 10 insertions, 36 deletions
diff --git a/usr.sbin/bluetooth/hcsecd/hcsecd.c b/usr.sbin/bluetooth/hcsecd/hcsecd.c
index de7a775..72f9c8c 100644
--- a/usr.sbin/bluetooth/hcsecd/hcsecd.c
+++ b/usr.sbin/bluetooth/hcsecd/hcsecd.c
@@ -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);
diff --git a/usr.sbin/bluetooth/hcseriald/hcseriald.c b/usr.sbin/bluetooth/hcseriald/hcseriald.c
index ee8d19c..b811c1d 100644
--- a/usr.sbin/bluetooth/hcseriald/hcseriald.c
+++ b/usr.sbin/bluetooth/hcseriald/hcseriald.c
@@ -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 */
diff --git a/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c b/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c
index cea2e3b..956dc4d 100644
--- a/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c
+++ b/usr.sbin/bluetooth/rfcomm_pppd/rfcomm_pppd.c
@@ -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);
OpenPOWER on IntegriCloud