aboutsummaryrefslogtreecommitdiff
path: root/src/daemon.c
diff options
context:
space:
mode:
authorMichal Nazarewicz <mina86@mina86.com>2009-07-19 08:18:23 +0200
committerMax Kellermann <max@duempel.org>2009-07-19 08:18:23 +0200
commit809c96b53f265fd59e9f660bac1990bf19089ba2 (patch)
treec493841244b085413f0db6c15e0d24f9c0e4fd81 /src/daemon.c
parent03e43356ce886eb359c0aac1a24aac56fbb0c59a (diff)
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.
Diffstat (limited to 'src/daemon.c')
-rw-r--r--src/daemon.c27
1 files changed, 6 insertions, 21 deletions
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