Clenup code a bit and do not call fork(2) before dameon(3) where not needed.

MFC after:	1 month
This commit is contained in:
Maksim Yevmenkin 2009-02-04 22:04:06 +00:00
parent a620f9a577
commit d37245a0de
4 changed files with 12 additions and 52 deletions

View File

@ -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");

View File

@ -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);

View File

@ -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 */

View File

@ -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);