summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--listener.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/listener.c b/listener.c
index af6a915..c0d81ef 100644
--- a/listener.c
+++ b/listener.c
@@ -70,6 +70,21 @@ int main(int argc, char *argv[], char *envp[])
freeaddrinfo(servinfo);
+ // daemonize
+#ifndef DEBUG
+ switch (fork()) {
+ case 0:
+ setsid();
+ umask(0);
+ break;
+ case -1:
+ perror("fork (serious!)");
+ exit(-1);
+ default:
+ exit(0);
+ }
+#endif
+
// receive loop
addr_len = sizeof their_addr;
while ((numbytes = recvfrom(sockfd, buf, MAXBUFLEN-1 , 0,
contact: Jan Huwald // Impressum