From: minima <minima>
Date: Wed, 7 Nov 2001 17:00:28 +0000 (+0000)
Subject: fiddle about with 'bye'
X-Git-Tag: R_1_49~15
X-Git-Url: http://dxspider.org/gitweb/gitweb.cgi?a=commitdiff_plain;h=b735ad9a0325fae9ca0c2324794b99288a737802;p=spider.git

fiddle about with 'bye'
---

diff --git a/cmd/bye.pl b/cmd/bye.pl
index d6e2d14b..13195c60 100644
--- a/cmd/bye.pl
+++ b/cmd/bye.pl
@@ -15,5 +15,6 @@ if ($self->is_user && -e "$main::data/logout") {
 	sleep(1);
 }
 
-$self->state('bye');
+$self->disconnect;
+
 return (1);
diff --git a/perl/DXCommandmode.pm b/perl/DXCommandmode.pm
index 58b42969..c0388552 100644
--- a/perl/DXCommandmode.pm
+++ b/perl/DXCommandmode.pm
@@ -288,6 +288,7 @@ sub normal
 		}
 		if ($@) {
 			$self->send_ans("Syserr: on stored func $self->{func}", $@);
+			delete $self->{func};
 			$self->state('prompt');
 			undef $@;
 		}
diff --git a/perl/cluster.pl b/perl/cluster.pl
index 16458073..b7ac1177 100755
--- a/perl/cluster.pl
+++ b/perl/cluster.pl
@@ -311,7 +311,6 @@ sub process_inqueue
 			die "\$user not defined for $call" if !defined $user;
 			# normal input
 			$dxchan->normal($line);
-			$dxchan->disconnect if ($dxchan->{state} eq 'bye');
 		} elsif ($sort eq 'Z') {
 			$dxchan->disconnect;
 		} elsif ($sort eq 'D') {