Changeset 113
- Timestamp:
- 10/19/09 08:24:25 (2 months ago)
- Location:
- trunk
- Files:
-
- 1 added
- 1 modified
-
ddclient (modified) (4 diffs)
-
patches/foreground.patch (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ddclient
r112 r113 310 310 'global-defaults' => { 311 311 'daemon' => setv(T_DELAY, 0, 0, 1, 0, interval('60s')), 312 'foreground' => setv(T_BOOL, 0, 0, 1, 0, undef), 312 313 'file' => setv(T_FILE, 0, 0, 1, "$etc$program.conf", undef), 313 314 'cache' => setv(T_FILE, 0, 0, 1, "$cachedir$program.cache", undef), … … 549 550 "options are:", 550 551 [ "daemon", "=s", "-daemon delay : run as a daemon, specify delay as an interval." ], 552 + [ "foreground", "!", "-foreground : do not fork" ], 551 553 [ "proxy", "=s", "-proxy host : use 'host' as the HTTP proxy" ], 552 554 [ "server", "=s", "-server host : update DNS information on 'host'" ], … … 637 639 $SIG{'TERM'} = sub { $caught_term = 1; }; 638 640 $SIG{'KILL'} = sub { $caught_kill = 1; }; 639 if (opt('daemon') && !opt('force')) { 641 # don't fork() if foreground or force is on 642 if (opt('foreground') || opt('force')) { 643 ; 644 } elsif (opt('daemon')) { 640 645 $SIG{'CHLD'} = 'IGNORE'; 641 646 my $pid = fork; … … 647 652 } 648 653 $SIG{'CHLD'} = 'DEFAULT'; 649 $opt{'syslog'} = 1;650 654 open(STDOUT, ">/dev/null"); 651 655 open(STDERR, ">/dev/null"); 652 656 open(STDIN, "</dev/null"); 653 657 } 658 659 # write out the pid file if we're daemon'ized 660 if(opt('daemon')) { 654 661 write_pid(); 662 $opt{'syslog'} = 1; 655 663 } 656 664