|
From: Anders J. <and...@us...> - 2003-10-23 19:36:11
|
The following file was modified in apps/bluetooth/experimental:
Name Old version New version Tag Comment
---- ----------- ----------- --- -------
btinit.c 1.26 1.27=20=20=20=20=20=20=20=20=20=20=20=20=20=20
The accompanying log:
Changed to use daemon()
The diff of the modified file(s):
--- btinit.c 2003/10/21 09:15:56 1.26
+++ btinit.c 2003/10/23 11:27:20 1.27
@@ -144,8 +144,6 @@ static void init_sighandler(void);
static void btd_cleanup(void);
static void btd_killchilds(void);
static void sighandler(int sig);
-static void daemonize(void);
-
=20
void unreset_force_rts()
{
@@ -190,7 +188,7 @@ main(int argc, char **argv)
int opt;
int bt_disc =3D N_BT;
volatile int dtr_hard_reset =3D 0;
- int daemon =3D 1;
+ int godaemon =3D 1;
=20
syslog(LOG_INFO, "Bluetooth daemon starting");
=20
@@ -201,7 +199,7 @@ main(int argc, char **argv)
switch(opt)
{
case 'n':
- daemon =3D 0;
+ godaemon =3D 0;
break;
=20=20=20=20=20=20=20
case 'f':
@@ -301,9 +299,9 @@ main(int argc, char **argv)
init_hw(bt_cfd, phys_fd, speedstr);
=20=20=20
/* All initialized and ready to accept connections in other BT apps */
- if(daemon)
+ if(godaemon)
{
- daemonize();
+ daemon(0, 0);
}
=20
if (atexit(btd_cleanup) < 0)
@@ -316,36 +314,6 @@ main(int argc, char **argv)
while (1)
sleep(100);
} /* main */
-
-static void daemonize(void) /* go to background */
-{
- switch (fork())
- {
- case -1: /* fork failed */
- fprintf(stderr,"fork() failed!\n");
- syslog(LOG_ERR, "Exit after failure to fork. %m");
- exit(EXIT_FAILURE);
- case 0: /* child continues */
- if (chdir("/"))
- {
- syslog(LOG_ERR, "Failed changing working directory to '/': %m");
- exit(EXIT_FAILURE);
- }
- break;
- default: /* parent quits */
- exit(EXIT_SUCCESS);
- }
- if (setsid() =3D=3D -1)
- {
- fprintf(stderr,"setsid() failed!\n");
- syslog(LOG_ERR, "Exit after failed call to setsid().");
- exit(EXIT_FAILURE);
- }
- fclose(stdin);
- fclose(stdout);
- fclose(stderr);
-}
-
/* =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D */
/* Signal handler */
=20
|