X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=FS%2FFS%2FDaemon.pm;h=f92a2ee3705de5f40a9563972d0b419d1e6ab679;hb=e0f8179a112d12a66280351fd12232015c4c53c9;hp=3e64f79e95e1d7a17f12dda2d8306d418392c462;hpb=673b9a458d9138523026963df6fa3b4683e09bae;p=freeside.git diff --git a/FS/FS/Daemon.pm b/FS/FS/Daemon.pm index 3e64f79e9..f92a2ee37 100644 --- a/FS/FS/Daemon.pm +++ b/FS/FS/Daemon.pm @@ -5,13 +5,17 @@ use vars qw( $pid_dir $me $pid_file $sigint $sigterm $logfile ); use Exporter; use Fcntl qw(:flock); use POSIX qw(setsid); +use IO::File; use Date::Format; #this is a simple refactoring of the stuff from freeside-queued, just to #avoid duplicate code. eventually this should use something from CPAN. @ISA = qw(Exporter); -@EXPORT_OK = qw( daemonize1 drop_root daemonize2 sigint sigterm logfile ); +@EXPORT_OK = qw( + daemonize1 drop_root daemonize2 myexit logfile sigint sigterm +); +%EXPORT_TAGS = ( 'all' => [ @EXPORT_OK ] ); $pid_dir = '/var/run'; @@ -73,7 +77,13 @@ sub sigterm { $sigterm; } sub logfile { $logfile = shift; } #_logmsg('test'); } +sub myexit { + unlink $pid_file if -e $pid_file; + exit; +} + sub _die { + die @_ if $^S; # $^S = 1 during an eval(), don't break exception handling my $msg = shift; unlink $pid_file if -e $pid_file; _logmsg($msg);