SVN: toys/rsget.pl/RSGet/Main.pm
sparky
sparky at pld-linux.org
Tue Nov 3 23:58:55 CET 2009
Author: sparky
Date: Tue Nov 3 23:58:55 2009
New Revision: 10941
Modified:
toys/rsget.pl/RSGet/Main.pm
Log:
- use Proc::Daemon for daemonizing
- fixed http server in daemon mode
Modified: toys/rsget.pl/RSGet/Main.pm
==============================================================================
--- toys/rsget.pl/RSGet/Main.pm (original)
+++ toys/rsget.pl/RSGet/Main.pm Tue Nov 3 23:58:55 2009
@@ -20,6 +20,7 @@
use RSGet::Tools;
use RSGet::Wait;
use Time::HiRes;
+use Cwd;
set_rev qq$Id$;
def_settings(
@@ -42,6 +43,7 @@
userconfig => {
desc => "User configuration file.",
allowed => qr/.+/,
+ type => "PATH",
},
daemon => {
desc => "Enter daemon mode. 1 - disable console output, 2 - also fork",
@@ -72,29 +74,29 @@
RSGet::Line::init( $daemon );
print_settings() if verbose( 1 );
RSGet::FileList::set_file();
- maybe_start_http();
set_interfaces( $ifs );
new RSGet::Line();
find_getters();
- new RSGet::Line();
- new RSGet::Line( "rsget.pl started successfully" );
- new RSGet::Line();
- RSGet::Line::update();
if ( $daemon == 2 ) {
- my $pid = fork();
- die "Cannot fork" unless defined $pid;
- if ( $pid ) {
- print "rsget.pl daemon started on pid: $pid\n";
- exit 0;
- }
+ my $start_dir = getcwd();
+ require Proc::Daemon;
+ print "starting rsget.pl daemon\n" if verbose( 1 );
+ Proc::Daemon::Init();
+ chdir $start_dir;
} elsif ( $daemon ) {
print "rsget.pl daemon started successfully\n";
}
+ maybe_start_http();
+ new RSGet::Line();
+ new RSGet::Line( "rsget.pl started successfully" );
+ new RSGet::Line();
+ RSGet::Line::update();
+
loop();
}
More information about the pld-cvs-commit
mailing list