From 1d421e52273b571166eaf55e88f3af9fb353db53 Mon Sep 17 00:00:00 2001 From: Colin Walters Date: Fri, 12 Nov 2004 01:46:16 +0000 Subject: [PATCH] 2004-11-11 Colin Walters * src/NetworkManager.c (main): Use daemon(3). * info-daemon/NetworkManagerInfo.c (main): Ditto. * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto. git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/trunk@304 4912f4e0-d625-0410-9fb7-b9a5a253dbdc --- ChangeLog | 8 ++++++ dispatcher-daemon/NetworkManagerDispatcher.c | 27 +++----------------- info-daemon/NetworkManagerInfo.c | 27 +++----------------- src/NetworkManager.c | 27 +++----------------- 4 files changed, 17 insertions(+), 72 deletions(-) diff --git a/ChangeLog b/ChangeLog index d3a1677e81..6e66e564c1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,11 @@ +2004-11-11 Colin Walters + + * src/NetworkManager.c (main): Use daemon(3). + + * info-daemon/NetworkManagerInfo.c (main): Ditto. + + * dispatcher-daemon/NetworkManagerDispatcher.c (main): Ditto. + 2004-11-10 Dan Williams Patches from j bootlab org diff --git a/dispatcher-daemon/NetworkManagerDispatcher.c b/dispatcher-daemon/NetworkManagerDispatcher.c index a2f7c2f033..8f223db3a8 100644 --- a/dispatcher-daemon/NetworkManagerDispatcher.c +++ b/dispatcher-daemon/NetworkManagerDispatcher.c @@ -379,31 +379,10 @@ int main( int argc, char *argv[] ) openlog("NetworkManagerDispatcher", (become_daemon) ? LOG_CONS : LOG_CONS | LOG_PERROR, (become_daemon) ? LOG_DAEMON : LOG_USER); - if (become_daemon) + if (become_daemon && daemon (FALSE, FALSE) < 0) { - int child_pid; - - if (chdir ("/") < 0) - { - syslog( LOG_CRIT, "NetworkManagerDispatcher could not chdir to /. errno=%d", errno); - return 1; - } - - child_pid = fork (); - switch (child_pid) - { - case -1: - syslog( LOG_ERR, "NetworkManagerDispatcher could not daemonize. errno = %d", errno ); - break; - - case 0: - /* Child */ - break; - - default: - exit (0); - break; - } + syslog( LOG_ERR, "NetworkManagerDispatcher could not daemonize. errno = %d", errno ); + exit (1); } g_type_init (); diff --git a/info-daemon/NetworkManagerInfo.c b/info-daemon/NetworkManagerInfo.c index 51c033a309..02666bfa4e 100644 --- a/info-daemon/NetworkManagerInfo.c +++ b/info-daemon/NetworkManagerInfo.c @@ -201,31 +201,10 @@ int main( int argc, char *argv[] ) openlog("NetworkManagerInfo", (no_daemon) ? LOG_CONS | LOG_PERROR : LOG_CONS, (no_daemon) ? LOG_USER : LOG_DAEMON); - if (!no_daemon) + if (!no_daemon && daemon (FALSE, FALSE) < 0) { - int child_pid; - - if (chdir ("/") < 0) - { - syslog( LOG_CRIT, "NetworkManagerInfo could not chdir to /. errno=%d", errno); - return 1; - } - - child_pid = fork (); - switch (child_pid) - { - case -1: - syslog( LOG_ERR, "NetworkManagerInfo could not daemonize. errno = %d", errno ); - break; - - case 0: - /* Child */ - break; - - default: - exit (0); - break; - } + syslog( LOG_ERR, "NetworkManagerInfo could not daemonize. errno = %d", errno ); + exit (1); } app_info = g_new0 (NMIAppInfo, 1); diff --git a/src/NetworkManager.c b/src/NetworkManager.c index fd1fa06eac..fd57223ce1 100644 --- a/src/NetworkManager.c +++ b/src/NetworkManager.c @@ -710,31 +710,10 @@ int main( int argc, char *argv[] ) /* Keep a current list of access points */ wireless_scan_source = g_timeout_add (10000, nm_wireless_scan_monitor, nm_data); - if (become_daemon) + if (become_daemon && daemon (0, 0) < 0) { - int child_pid; - - if (chdir ("/") < 0) - { - syslog( LOG_CRIT, "NetworkManager could not chdir to /. errno=%d", errno); - return (1); - } - - child_pid = fork (); - switch (child_pid) - { - case -1: - syslog( LOG_ERR, "NetworkManager could not daemonize. errno = %d", errno ); - break; - - case 0: - /* Child */ - break; - - default: - exit (EXIT_SUCCESS); - break; - } + syslog( LOG_ERR, "NetworkManager could not daemonize. errno = %d", errno ); + exit (1); } /* Wheeee!!! */