summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormiau <miaukatzemiau@priveasy.de>2011-06-20 07:40:11 (GMT)
committermiau <miaukatzemiau@priveasy.de>2011-06-20 07:40:11 (GMT)
commitefaa21a4adc37dfa67b70926cc1b9b1d7ecc9768 (patch)
tree114ce2d9cb36f6e8b36f799449ed810e8b8147a8
parentb7ef8e9755118353e8a0b303fd5b4b9d380eb57c (diff)
daemonize listener
-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