start of AnyEvent conversion
[spider.git] / cmd / shutdown.pl
index 43b6fb7531a24887dea609cb7f39a7fc095e9dfa..cfed8d400ad5e2741f765c7aaa0dd71e2b771950 100644 (file)
@@ -1,10 +1,17 @@
 #
 # the shutdown command
 # 
-# $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($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->send;
+
+return (1);