--- a/htpdate.c +++ b/htpdate.c @@ -395,6 +395,7 @@ Usage: htpdate [-046abdhlqstxD] [-i pid -b burst mode\n\ -d debug mode\n\ -D daemon mode\n\ + -f run in foreground\n\ -h help\n\ -i pid file\n\ -l use syslog for output\n\ @@ -510,7 +511,7 @@ int main( int argc, char *argv[] ) { /* Parse the command line switches and arguments */ - while ( (param = getopt(argc, argv, "046abdhi:lm:p:qstu:xDM:P:") ) != -1) + while ( (param = getopt(argc, argv, "046abdhi:lm:p:qstu:xDfM:P:") ) != -1) switch( param ) { case '0': /* HTTP/1.0 */ @@ -593,6 +594,9 @@ int main( int argc, char *argv[] ) { daemonize = 1; logmode = 1; break; + case 'f': /* run in foreground */ + daemonize = 2; + break; case 'M': /* maximum poll interval */ if ( ( maxsleep = atoi(optarg) ) <= 0 ) { fputs( "Invalid sleep time\n", stderr ); @@ -631,7 +635,9 @@ int main( int argc, char *argv[] ) { /* Run as a daemonize when -D is set */ if ( daemonize ) { - runasdaemon( pidfile ); + if ( daemonize == 1 ) { + runasdaemon( pidfile ); + } /* Query only mode doesn't exist in daemon mode */ if ( !setmode ) setmode = 1;