moan about and then delete empty message files
[spider.git] / perl / cluster.pl
index 6f82b0d0bdebdeecaba15df94448e7a57d7bda59..dfae3278efb914bf5bdc944be1ac91c393a7b2e9 100755 (executable)
@@ -61,6 +61,7 @@ use Filter;
 use DXDb;
 use AnnTalk;
 use WCY;
+use DXDupe;
 
 use Data::Dumper;
 use Fcntl ':flock'; 
@@ -219,6 +220,7 @@ sub cease
        Msg->event_loop(1, 0.05);
        Msg->event_loop(1, 0.05);
        DXUser::finish();
+       DXDupe::finish();
 
        # close all databases
        DXDb::closeall;
@@ -253,11 +255,6 @@ sub process_inqueue
        my ($sort, $call, $line) = DXChannel::decode_input($dxchan, $data);
        return unless defined $sort;
        
-       # translate any crappy characters into hex characters 
-       if ($line =~ /[\x00-\x06\x08\x0a-\x1f\x7f-\xff]/o) {
-               $line =~ s/([\x00-\x1f\x7f-\xff])/uc sprintf("%%%02x",ord($1))/eg;
-       }
-
        # do the really sexy console interface bit! (Who is going to do the TK interface then?)
        dbg('chan', "<- $sort $call $line\n") unless $sort eq 'D';
 
@@ -340,11 +337,14 @@ $SIG{KILL} = 'DEFAULT';     # as if it matters....
 # catch the rest with a hopeful message
 for (keys %SIG) {
        if (!$SIG{$_}) {
-               dbg('chan', "Catching SIG $_");
+#              dbg('chan', "Catching SIG $_");
                $SIG{$_} = sub { my $sig = shift;       DXDebug::confess("Caught signal $sig");  }; 
        }
 }
 
+# start dupe system
+DXDupe::init();
+
 # read in system messages
 DXM->init();
 
@@ -415,6 +415,8 @@ for (;;) {
                DXMsg::process();
                DXDb::process();
                DXUser::process();
+               DXDupe::process();
+               
                eval { 
                        Local::process();       # do any localised processing
                };