From 809c96b53f265fd59e9f660bac1990bf19089ba2 Mon Sep 17 00:00:00 2001 From: Michal Nazarewicz Date: Sun, 19 Jul 2009 08:18:23 +0200 Subject: daemon: Moved empty Windows version functions to header file On Windows only daemonize_close_stdin() function does something. Other functions are either empty or generate an error. Those have been moved to header file and declared static inline so compiler can remove the call all together. --- src/daemon.c | 27 ++++++--------------------- 1 file changed, 6 insertions(+), 21 deletions(-) (limited to 'src/daemon.c') diff --git a/src/daemon.c b/src/daemon.c index e7fcd098..43d16bc9 100644 --- a/src/daemon.c +++ b/src/daemon.c @@ -56,12 +56,10 @@ static char *pidfile; /* whether "group" conf. option was given */ static bool had_group = false; -#endif void daemonize_kill(void) { -#ifndef WIN32 FILE *fp; int pid, ret; @@ -85,11 +83,10 @@ daemonize_kill(void) pid, g_strerror(errno)); exit(EXIT_SUCCESS); -#else - g_error("--kill is not available on WIN32"); -#endif } +#endif + void daemonize_close_stdin(void) { @@ -103,10 +100,11 @@ daemonize_close_stdin(void) } } +#ifndef WIN32 + void daemonize_set_user(void) { -#ifndef WIN32 if (user_name == NULL) return; @@ -135,10 +133,8 @@ daemonize_set_user(void) g_error("cannot change to uid of user \"%s\": %s", user_name, g_strerror(errno)); } -#endif } -#ifndef G_OS_WIN32 static void daemonize_detach(void) { @@ -169,12 +165,10 @@ daemonize_detach(void) g_debug("daemonized!"); } -#endif void daemonize(bool detach) { -#ifndef WIN32 FILE *fp = NULL; if (pidfile != NULL) { @@ -196,16 +190,11 @@ daemonize(bool detach) fprintf(fp, "%lu\n", (unsigned long)getpid()); fclose(fp); } -#else - /* no daemonization on WIN32 */ - (void)detach; -#endif } void daemonize_init(const char *user, const char *group, const char *_pidfile) { -#ifndef WIN32 if (user) { struct passwd *pwd = getpwnam(user); if (!pwd) @@ -230,20 +219,16 @@ daemonize_init(const char *user, const char *group, const char *_pidfile) pidfile = g_strdup(_pidfile); -#else - (void)user; - (void)_pidfile; -#endif } void daemonize_finish(void) { -#ifndef WIN32 if (pidfile != NULL) unlink(pidfile); g_free(user_name); g_free(pidfile); -#endif } + +#endif -- cgit v1.2.3