summaryrefslogtreecommitdiff
path: root/FS/bin
diff options
context:
space:
mode:
authorivan <ivan>2010-06-16 21:53:24 +0000
committerivan <ivan>2010-06-16 21:53:24 +0000
commit7ea8e16cf847c607bf917cb3b31110d18104a343 (patch)
treeb0663a3c412b0df9763a0ff547ed30b3b62f72e5 /FS/bin
parent0743ea91445e0682a00a05a0ae8f72e587d6a0e9 (diff)
a local XML-RPC server for ncic: daemonize and respond to TERM, RT#7780
Diffstat (limited to 'FS/bin')
-rwxr-xr-xFS/bin/freeside-selfservice-xmlrpcd11
1 files changed, 10 insertions, 1 deletions
diff --git a/FS/bin/freeside-selfservice-xmlrpcd b/FS/bin/freeside-selfservice-xmlrpcd
index fd7639cac..a90205189 100755
--- a/FS/bin/freeside-selfservice-xmlrpcd
+++ b/FS/bin/freeside-selfservice-xmlrpcd
@@ -25,6 +25,7 @@ use XMLRPC::Lite; # for XMLRPC::Serializer
use FS::Daemon qw(daemonize1 drop_root logfile daemonize2 );
use FS::UID qw(adminsuidsetup);
+use FS::Conf;
use FS::ClientAPI qw( load_clientapi_modules );
use FS::ClientAPI_XMLRPC; #FS::SelfService::XMLRPC;
@@ -47,18 +48,26 @@ my %typelookup = (
my $user = shift or die &usage;
$FS::Daemon::NOSIG = 1;
-daemonize1('freeside-selfservice-xmlrpcd');
+$FS::Daemon::PID_NEWSTYLE = 1;
+daemonize1('selfservice-xmlrpcd');
POE::Kernel->has_forked(); #daemonize forks...
drop_root();
+adminsuidsetup($user);
+
load_clientapi_modules;
logfile("$FREESIDE_LOG/selfservice-xmlrpcd.log");
daemonize2();
+my $conf = new FS::Conf;
+
+die "not running; selfservice-xmlrpc conf option is off\n"
+ unless $conf->exists('selfservice-xmlrpc');
+
###
# the main loop
###