X-Git-Url: http://dxcluster.net/gitweb/gitweb.cgi?a=blobdiff_plain;f=perl%2Fcluster.pl;fp=perl%2Fcluster.pl;h=054a22ca718dbde98003e13f4824ff76b738ceca;hb=c80c2aab681f6f691f7b9a5fa76cde2e938562c0;hp=ca73a8249e81017c3705c34689f156294d7afff8;hpb=0831a1b786d5f3e83aef6ee603b470f86310e8cf;p=spider.git diff --git a/perl/cluster.pl b/perl/cluster.pl index ca73a824..054a22ca 100755 --- a/perl/cluster.pl +++ b/perl/cluster.pl @@ -15,6 +15,8 @@ package main; require 5.10.1; use warnings; +use vars qw($root $is_win $systime); + # make sure that modules are searched in the order local then perl BEGIN { umask 002; @@ -38,12 +40,15 @@ BEGIN { die "$root/local/DXVars.pm doesn't exist, please RTFM" unless -e "$root/local/DXVars.pm"; # create some directories - mkdir "$root/local_cmd", 02777 unless -d "$root/local_cmd"; - mkdir "$root/local_data", 02777 unless -d "$root/local_data"; + mkdir "$root/local_cmd", 02774 unless -d "$root/local_cmd"; + + # locally stored data lives here + my $local_data = "$root/local_data"; + mkdir $local_data, 02774 unless -d $local_data; # try to create and lock a lockfile (this isn't atomic but # should do for now - $lockfn = "$root/local_data/cluster.lck"; # lock file name + my $lockfn = "$root/local_data/cluster.lck"; # lock file name if (-w $lockfn) { open(CLLOCK, "$lockfn") or die "Can't open Lockfile ($lockfn) $!"; my $pid = ; @@ -63,11 +68,14 @@ BEGIN { $is_win = ($^O =~ /^MS/ || $^O =~ /^OS-2/) ? 1 : 0; # is it Windows? $systime = time; + } use DXVars; use SysVar; +use strict; + use Mojo::IOLoop; use Msg; @@ -132,12 +140,9 @@ use Web; use Local; -package main; - -use strict; -use vars qw(@inqueue $systime $starttime $lockfn @outstanding_connects - $zombies $root @listeners $lang $myalias @debug $userfn $clusteraddr - $clusterport $mycall $decease $is_win $routeroot $me $reqreg $bumpexisting +use vars qw(@inqueue $starttime $lockfn @outstanding_connects + $zombies @listeners $lang $myalias @debug $userfn $clusteraddr + $clusterport $mycall $decease $routeroot $me $reqreg $bumpexisting $allowdxby $dbh $dsn $dbuser $dbpass $do_xml $systime_days $systime_daystart $can_encode $maxconnect_user $maxconnect_node $idle_interval $log_flush_interval $broadcast_debug