--- server.c.orig Thu May 8 12:34:45 2003 +++ server.c Mon Aug 18 10:27:55 2003 @@ -49,6 +49,9 @@ #include /* For getpwuid(). */ #include #include +#ifdef __FreeBSD__ +#include +#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 + , 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);