blob: 51e0d11ddf7db087bcf70b614eaf17ae53181061 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
  | 
--- server.c.orig	Thu May  8 12:34:45 2003
+++ server.c	Mon Aug 18 10:27:55 2003
@@ -49,6 +49,9 @@
 #include <pwd.h>                /* For getpwuid(). */
 #include <signal.h>
 #include <stdio.h>
+#ifdef __FreeBSD__
+#include <stdlib.h>
+#endif
 
 #include "youbin.h"
 #include "server.h"
@@ -151,6 +154,15 @@
     signal(SIGHUP, sig_hup);
     signal(SIGALRM, sig_alarm);
 
+    /*Go to background.  This part was modified locally by Masafumi NAKANE
+        <max@FreeBSD.org>, and is used only on FreeBSD.*/
+#ifdef __FreeBSD__
+    if (daemon(1, 1) == -1) {
+	    perror("daemon");
+	    kill(getpid(), SIGTERM);
+    }
+#endif
+
     /* Dive into main loop. Don't use setjmp() and longjmp(),
        because list maintenance routines are in critical section. */
     alarm(UNIT_TIME);
@@ -359,7 +371,7 @@
 #endif  
     if( !(sp->mode.head_list) ) {
       send_packet(buff, sp);        /* Send header and so on. */
-      retrun;
+      return;
     } 
 
     line = buff + strlen(buff);
 
  |