trya agin
[spider.git] / cmd / shutdown.pl
index 43b6fb7531a24887dea609cb7f39a7fc095e9dfa..4ee21ebade351aae062ff0b6029a6727d1f2a589 100644 (file)
@@ -4,7 +4,16 @@
 # $Id$
 #
 my $self = shift;
-if ($self->priv >= 5) {
-  &main::cease();
+my $call = $self->call;
+my $ref;
+return (1, $self->msg('e5')) unless $self->priv >= 5;
+foreach $ref (DXChannel::get_all()) {
+       $ref->send_now("D", DXProt::pc39($main::mycall, "Shutdown by $call")) if $ref->is_node  && $ref != $DXProt::me; 
+       $ref->send_now("D", $self->msg('shutting')) if $ref->is_user;
 }
-return (0);
+    
+# give some time for the buffers to empty and then shutdown (see cluster.pl)
+$main::decease = 250;
+       
+
+return (1);